1、创建字典
empty_dict = dict() # {}
from_list = dict([('a', 1), ('b', 2)]) # {'a': 1, 'b': 2}
from_kwargs = dict(a=1, b=2) # {'a': 1, 'b': 2}
2、访问元素
-
dict[key]: 通过key获取值,key不存在时抛出keyError
-
dict.get(key, default):安全获取值,key不存在时返回默认值(默认None)
d = {'a': 1}
d.get('a') # 1
d.get('b', 0) # 0(键不存在时返回默认值)
-
dict.setdefault(key, default):获取值,若key不存在则设置默认值并返回【有点反常识】
d.setdefault('b', 2) # 2,d 变为 {'a': 1, 'b': 2}
3、修改与更新
-
dict[key] = value: 添加或修改key, value
-
dict.update(other): 合并另一个字典或者可迭代对象
### 第一种
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict1.update(dict2)
print(dict1) # 输出:{'a': 1, 'b': 3, 'c': 4}
### 第二种
dict1 = {'a': 1}
dict1.update([('b', 2), ('c', 3)])
print(dict1) # 输出:{'a': 1, 'b': 2, 'c': 3}
### 第三种
dict1 = {'a': 1}
dict1.update(b=2, c=3)
print(dict1) # 输出:{'a': 1, 'b': 2, 'c': 3}
-
dict.pop(key, default)删除key并放回值,key不存在时返回默认值
d.pop('b') # 3,d 变为 {'a': 1, 'c': 4}
4、检查与判断
-
key in dict:检查key是否存在
-
dict.keys()返回key的视图
-
dict.values()返回value的视图
-
dict.items()返回key/value的视图
5、复制与清空
copy_d = d.copy()
d.clear()
6、其他方法
-
len(dict): 返回key/value数量
-
dict.fromkeys(iterable, value):创建新字典,以可迭代对象的元素为key,统一值
dict.fromkeys(['a', 'b'], 0) # {'a': 0, 'b': 0}
7、常见操作
d = {'a': 1, 'b': 2}
# 遍历键
for key in d.keys():
print(key) # 'a', 'b'
# 遍历值
for value in d.values():
print(value) # 1, 2
# 遍历键值对
for key, value in d.items():
print(key, value) # 'a' 1, 'b' 2
d1 = {'a': 1}
d2 = {'b': 2}
merged = d1 | d2
merged = {**d1, **d2}