![python 06 python 06](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
1.集合
增: 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)} s.remove(3) s.add(7) print(s) 查: s = {1,2,3,'22','ss',(3,4)} for i in s: print(i) s = {1,2,3,4,33,21,4,1234,34,1234,5324,1234,12341,23,22,34112,2,21,23,34,123,4} 集合天然去重 print(s) 例题: lst = [1,2,3,42,3,45,67,534,2] print(list(set(lst))) s = set(lst) print(list(s))
集合的其他操作:
s = {'黑哥'} s1 = {'虎哥','开哥','白哥','黑哥','wu哥'} print(s & s1) # 交集 俩个集合都有的才输出 print(s | s1) # 并集 两个集合 合并到一起 print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结 print(s ^ s1) # 反交集 自己总结 print(s < s1) # 子集 print(s1 > s) # 超(父)集
2.深浅拷贝:
lst = [1,2,3,[4,5,6],7] lst1 = lst #赋值 lst2 = lst[:] # 切片 # lst.append(7) print(lst) print(lst2) import copy lst4 = copy.deepcopy(lst) # 深拷贝 lst[-2].append(7) print(lst) #[1, 2, 3, [4, 5, 6,7], 7] print(lst4) #[1, 2, 3, [4, 5, 6], 7] 浅拷贝: 拷贝的是第一层元素 深拷贝: # 拷贝所有元素开辟新的空间存放,完全没有关系 lst = [1,2,3] lst1 = [1,2,3] print(id(lst)) print(id(lst1)) 例题 a = [1, 2] a[1] = a # [1,[1,2]] print(a[1]) 答案: [1, [...]]
3.循环删除:
lst = [1,2,3,4,5] for i in range(len(lst)): lst.pop() print(lst) lst = [1,2,3,4,5] lst1 = [] for i in lst: lst1.append(i) for k in lst1: lst.remove(k) print(lst) 这个方式也可以
4.字符转换
#先编码再解码,用什么编用什么解 s = "中国" str_b = s.encode('utf-8') print(str_b) b'\xe4\xb8\xad\xe5\x9b\xbd' str1 = str_b.decode('utf-8') print(str1) 中国