2025-09-10:仓库迁移
This commit is contained in:
38
1.数据结构与算法/6.一键多值字典.py
Normal file
38
1.数据结构与算法/6.一键多值字典.py
Normal file
@@ -0,0 +1,38 @@
|
||||
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函数拿到所有键再动手
|
Reference in New Issue
Block a user