|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在字典中将键映射到多个值上
问题描述:
想搞一个一键多值的字典
借助collections库
一、defaultdict
- a = 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)
复制代码
|
|