4.5、字典的其他功能和方法
1、dict.copy()
返回一个新的字典,内容一样,地址不同
2,dict.fromkeys(seq,val)
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值,
3,dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典中插入这个键,并且以 default为这个键的值,并返回 default。default的默认值为None
4、dict.update(dict2)
把字典dict2的键/值对更新到dict里
4.6、字典与列表对比
dict 的特点 1、查找速度极快,不会随着key的增加而变慢;
2、 要占用大量的内存,内存浪费多。
list 的特点 1、 查找和插入的时间随着元素的增加而增加;
2、占用空间小,浪费内存很少。
4.7、set
set是一个无序,不能重复的集合容器,所以可以用来过滤重复元素。
1、add(obj) 新增
2、remove(obj) 移除
3、| 并集
4、& 交集
5、- 差集
备注
1、set.update(x) 将集合 x 并入原集合s中,x 还可以是列表,元组,字典等,x 可以有多个,用逗号分开
2、set.discard( x ) 将 x 从集合s中移除
3、pop() 随机删除并返回集合s中某个值
4、clear() 清空
5、x in s set同样支持in操作
6、union( x ) 并集
7、intersection( x ) 交集
8、difference( x )差集
9、symmetric_difference( x ) 返回s和集合x的对称差集,即只在其中一个集合中出现的元素,不改变集合s, x 也可以是列表,元组,字典。
10、issubset(s) 判断 集合s 是否是 集合x 子集
11、issuperset( x ) 判断 集合x 是否是集合s的子集