1.集合(set) {}
注:创建空集合使用set(),{}的类型为字典(dict)
1.1集合的增删改查
增:set.add(ele) 将元素添加到集合中,如果已经存在,则不执行任何操作
set.update(set1) 将set1中的元素迭代添加到set中,重复的会忽略,set1是可迭代类型的变量
删:set.pop() 随机移除一个元素,返回被移除的元素
set.remove(item) 移除集合中一个指定的元素,如果元素不存在,则返回异常
set.discard(item) 移除集合中一个指定的元素,元素不存在时不会返回异常
改:集合中只能通过删除元素再增加元素来实现修改集合元素
查:集合中只能通过for循环遍历查看集合元素
1.2集合的其他方法
set1.union(set2) 返回set1与set2的并集,与set1|set2相同
set1.intersection(set2) 返回set1与set2的交集,与set1&set2相同
set1.difference(set2) 返回set1与set2的差集,与set1-set2相同
set1.symmetric_difference(set2) 返回set1与set2的反交集,与set1^set2相同
set1.issubset(set2) 判断set1是否是set2的子集,与set1<set2相同
set1.issupperset(set2) 判断set1是否是set2的超集,与set1>set2相同
set1.isdisjoint(set2) 判断set1与set2中是否包含相同元素,如包含则返回False,否则返回True
2.编码
str.encode(encoding) 按指定编码方式编码
str.decode(encoding) 解码 按指定编码方式解码
注:编码与解码必须使用同一种编码方式
常用的编码方式有uft-8,gbk
python2中默认编码方式为ASCII码,python3中默认编码方式为Unicode
bytes类型主要用于存储和传输
windows中文版的编码方式为gbk(国标)
3.基础数据类型补充
字典在遍历循环中不可增删
所以如果要使用for循环清空字典,需要先创建一份字典的复制,然后使用for循环删除字典中的键值对
如果要使用for循环清空列表,可以使用for循环和range来删除列表中的所有元素
也可使用清空字典的方法
4.深浅拷贝
直接赋值:其实就是对象的引用
浅拷贝(copy):拷贝父对象,不会拷贝对象内部的子对象(子对象还是使用同一片内存)
可通过copy方法或使用[:]切片来得到
深拷贝(deepcopy):完全拷贝父对象及其子对象
导入copy模块,使用deepcopy(args)来得到