Python笔记: Ch.7 映像&集合
字典dict
底层实现为Hash表, 基本上不会因为内容的增加而导致查询速度变慢
所以也要求一个对象能够返回哈希值
可以用
hash()
函数测试
dict の CURD:
创建:
这里需要区分一下:
-
{}
创建的是dict -
[]
创建的是list -
()
创建的是tuple
-
常规创建
-
工厂创建
-
fromkeys() 方法创建
-
创建空dict, 逐一添加:
访问:
-
通过
[键值]
访问:如果键值不存在会引发错误:
最好是用
in
判断 -
for访问:
更新:
直接dictName[key]=newValue
删除:
-
del删除
-
clear()删除
dict の 常用方法:
参考自博客
https://blog.****.net/qq_34979346/article/details/83654603
-
clear()
清空dict
-
copy()
浅拷贝dict
深拷贝还得用copy.deepcopy() -
fromkeys()
将一个list作为keys, 并将所有的value赋为指定值
-
get()
通常用来代替
[]
获取值当key不存在时返回None, 或指定的default值
-
item()
返回一个dict中所有键值对组成的list
经常用在for循环
-
key()
返回一个dict中所有key组成的list
经常用在for循环中
-
pop(‘key’)
弹出指定键值对
popitem()
弹出最后一个键值对
-
setdefault(key,[value=None])
如果key存在, 则调用get()返回键值对
否则调用set()添加键值对
用的不多
-
update()
源码中说的很详细了吧
集合set
集合中的元素无序 且 不重复
基础操作与字典差不多, 这里说一下特殊操作
集合のCURD:
-
创建:
通常使用工厂方法
- set() 创建可变集合
- frozenset() 创建不可变集合
常用操作
-
判断子集:
使用
>
>=
<
<=
-
求并集
|
-
求交集
&
-
求相对补集
-
s - t =
-
求对称差分
^
该集合中的元素,只能是属于集合s或者集合t的成员
更多常用方法现查现用
交集&
-
求相对补集
-
s - t =
[外链图片转存中…(img-XeeI30Ub-1600179702964)]
-
求对称差分
^
该集合中的元素,只能是属于集合s或者集合t的成员
[外链图片转存中…(img-ScsP2yY6-1600179702966)]
更多常用方法现查现用