集合:
集合是个一个无序的 天然自带去重特性 s = {} # 空{}就是字典
集合的一些基本操作:
增
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# s.add(8) # print(s) # s.update('alex') # 迭代添加 # print(s)
删
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 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)
改
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# s = {1,2,3,'22','ss',(3,4)} # s.remove(3) # s.add(7) # print(s)
查
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# s = {1,2,3,'22','ss',(3,4)} # for i in s: # print(i)
集合其他操作:
print(s & s1) # 交集 俩个集合都有的才输出 # print(s | s1) # 并集 两个集合 合并到一起 # print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结 # print(s ^ s1) # 反交集 print(s < s1) # 子集 # print(s1 > s) # 超(父)集
###### frozenset
二次编码:
# ascii # 不支持中文 # unicode 万国码 中文4个字节 英文 2个 # utf-8 最少使用1个字节 欧洲 2 亚洲 3 # gbk 中文 2 英 1 # windows 默认编码GBK
a2 = a.encode('utf-8') #编码 # print(a) # print(a2) # a3 = a2.decode('utf-8') #解码 # print(a3) # bytes字节 用于传输和存储
###### 用是什么编码就用什么解码
深浅拷贝:
# lst = [1,2,3,[4,5,6],7] # lst1 = lst #赋值 # lst2 = lst[:] # 切片 浅拷贝就是只拷贝第一层元素
# 深拷贝 import copy # lst4 = copy.deepcopy(lst) 深拷贝: # 拷贝所有元素开辟新的空间存放,完全没有关系
牛刀小试:
a = [1, 2] a[1] = a # [1,[1,2]] print(a[1]) 答案: [1,[...]]