Files
Python_CookBook_repo/1.数据结构与算法/6.一键多值字典.py

39 lines
1.1 KiB
Python
Raw Normal View History

2025-09-10 16:12:45 +08:00
from collections import defaultdict
# 当你新建一个普通字典对字典中不存在的key进行调用时会报错
a = {}
try:
print(a["key"])
pass
except:
print("err")
# 如果使用defaultdict进行字典初始化建立就不存在这个问题
# 当出现不存在的key的时候会根据默认设置进行默认值创建
b = defaultdict(list)
print(b["key"])
# 但是这样就有一个问题这个key就会一直在这里等待调用如果没有用到就是垃圾
print(b)
# 这个方法可以用于记录的添加;比如一个方法如下:
pairs = [{"a":10},{"b":10},{"b":10}]
d = {}
for key, value in pairs:
if key not in d:
d[key] = []
d[key].append(value)
# 很明显这样就显得很蠢,我还要判断一下键在不在里面
# 使用defaultdict就没有这个困扰直接省略一键添加
d = defaultdict(list)
for key, value in pairs:
d["key"].append(value)
# 当然为了避免生成空键,使用这东西的时候切记在里面翻东西的时候别直接用dict[key]输入;
# 先用keys函数拿到所有键再动手