有时候我们想在字典中存储更多的信息,一个key对应多个value,但是又不想做两个字典。那么,我们可以将多个值放到另外的容器中, 比如列表或者集合中。比如,可以构造下面这样的字典:
代码语言:javascript复制d = {
'a' : [1, 2, 3],
'b' : [4, 5]
}
如果想保持元素的插入顺序可以使用列表, 如果想去掉重复元素可以使用集合。
如果我们自己实现的话:
代码语言:javascript复制d = {}
for key, value in pairs:
if key not in d:
d[key] = []
d[key].append(value)
不过可以使collections库中的defaultdict会更为简洁,也更加常用:
代码语言:javascript复制d = defaultdict(list)
for key, value in pairs:
d[key].append(value)