|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在字典中将键映射到多个值上
问题描述:
想搞一个一键多值的字典
借助collections库
一、defaultdicta = defaultdict(list)
b = defaultdict(set)
c = defaultdict(dict)
# 都是字典
a["a"].append(1)
b["b"].add(2)
c["c"].setdefault(3)
print(a)
print(b)
print(c)
defaultdict(<class 'list'>, {'a': [1]})
defaultdict(<class 'set'>, {'b': {2}})
defaultdict(<class 'dict'>, {'c': {3: None}})
二、普通的字典d = {}
d.setdefault("a", []).append(4)
d.setdefault("a", []).append(5)
print(d)
三、区别
defaultdict()方法不用对第一个值进行初始化
而普通的字典需要d = {}
pairs = ()
for key, value in pairs:
if key not in d:
d[key] = []
d[key].append(value)
d = defaultdict(list)
for key, value in pairs:
d[key].append(value)
|
|