-
set 集合 {} 无序
- 集合天然去重
- 增 :
- s.add
- s.update 迭代添加
- 删 :
- s.pop( ) 随机删除 返回删除值
- s.clear( ) 清空 获取到的是 set( )
- del s 删除整个集合
- s.remove( ) 删除指定元素(通过元素)
- 改 :
- 先删再增
- 查 :
- for i in set:
- print(i)
- for i in set:
- 其他操作 :
- 交集 :
- s & s1
- s.intersection(s1)
- 并集 :
- s | s1
- 差集 :(前面集合减后面的集合 输出前面没有的)
- s1 - s
- 反交集 : (去除重复的元素,剩余的结合)
- s ^ s1
- 子集 :
- s < s1
- 冻结
- s = frozenset((1,2,3))
- dic = {s:'1,2,3'}
- print(dic)
- 交集 :
-
编码 : a.encode(' ') windows 默认编码GBK
- ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符.没有中⽂,
- 8个01代码, 8个bit, 1个byte
- UNICODE: 万国码, ⾥⾯包含了全世界所有国家⽂字的编码.
- 中文: 32个bit, 4个byte,
- 英文: 16个bit,2个byte
- UTF-8: 可变⻓度的万国码. 是unicode的⼀种实现. 最⼩字符占8位
- 1.英⽂: 8bit 1byte
- 2.欧洲⽂字:16bit 2byte
- 3.中⽂: 24bit 3byte
- GBK: 中⽂国标码, ⾥⾯包含了ASCII编码和中⽂常⽤编码.
- 中文:16个bit, 2个byte
- 英文:8个bit,1个byte
- 综上, 除了ASCII码以外, 其他信息不能直接转换
- ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符.没有中⽂,
- 解码 : a.decode(' ') 用什么编就用什么解
-
用for循环删除列表所有元素
- ①
- 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 o in lst1:
- lst.remove(o)
- print(lst)
- ①
- fromkeys
- dic = dict.fromkeys(['alex','wusir'],['太白','姗姗'])
- fromkeys 第一是键 第二是值
- dic['alex'].append('老村长')
- print(dic)
-
深浅拷贝
- 浅拷贝
- 只拷贝第一层元素
- 对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制⼀份内容. 所以. lst1的内存指向和lst2是⼀样的. lst1改变了, lst2也发⽣了改变
- 深拷贝 lst1 = copy.deepcopy(lst)
- 深度拷贝. 把元素内部的元素完全进行拷贝复制. 不会产⽣⼀个改变另⼀个跟着 改变的问题 补充⼀个知识点: