day 6 集合,二次编码,基础类型补充,森浅拷贝
集合
'''集合有天然去重的功能,集合是无序的并且可变''' 集合的增删改查 增 s = {1,2,3,'22','ss',False,(3,4)} s.add(8) print(s) s.update('alex') # 迭代添加 print(s) 删 s = {1,2,3,'22','ss',(3,4)} s1 = s.pop() #随机删除 print(s) #返回值 返回的被删除的元素 print(s1) s.clear() print(s) #清空 set() s = {1,2,3,'22','ss',(3,4)} del s #删除整个集合 print(s) s = {1,2,3,'22','ss',(3,4)} s.remove() #通过元素指定删除 print(s) 改: s = {1,2,3,'22','ss',(3,4)} s.remove(3) s.add(7) print(s) s = {1,2,3,'22','ss',(3,4)} for i in s: print(i) 其他操作: s = {'黑哥'} s1 = {'虎哥','开哥','alex哥','黑哥','wu哥'} print(s & s1) # 交集 俩个集合都有的才输出 print(s | s1) # 并集 两个集合 合并到一起 print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结 print(s ^ s1) # 反交集 自己总结 print(s < s1) # 子集 print(s1 > s) # 超(父)集 dic = {{1,2,3}:1} a = frozenset((1,2,3)) dic ={a:1} print(dic) print(dic) 面试题: lst = [1,2,3,42,3,45,67,534,2] print(list(set(lst))) s = set(lst) print(list(s))
二次编码
2.二次编码
encode 编码
decode 解码
注意: 用什么编就用什么解
基础类型补充
#利用for 循环删除列表内容 1 st = [1,2,3,4,5] for i in lst: lst.clear() print(lst) 2, lst = [1,2,3,4,5] for i in range(len(lst)): lst.pop(0) print(lst) 3, lst = [1,2,3,4,5] for i in lst: if type(i) == int: lst[i-1] = ' ' print(lst) print(list(set(lst))) lst = [1,2,3,4,5] lst1 = [] for i in lst: lst1.append(i) for k in lst1: lst.remove(k) print(lst) 字典利用for删除字典内容 dic = {'yuan':1,'a',b} for i in dic: dic['c'] = 3 print(dic) for i in dic: dic.pop(i) print(dic)
深浅拷贝
深浅拷贝
浅拷贝:
只拷贝第一层元素
深拷贝:
拷贝所有元素,开辟新的空间储存,两者没有任何关系