如果 adefaultdict
可以按照以下几行进行初始化,那将很方便
d = defaultdict(list, (('a', 1), ('b', 2), ('c', 3), ('d', 4), ('a', 2),
('b', 3)))
生产
defaultdict(<type 'list'>, {'a': [1, 2], 'c': [3], 'b': [2, 3], 'd': [4]})
相反,我得到
defaultdict(<type 'list'>, {'a': 2, 'c': 3, 'b': 3, 'd': 4})
为了得到我需要的东西,我最终不得不这样做:
d = defaultdict(list)
for x, y in (('a', 1), ('b', 2), ('c', 3), ('d', 4), ('a', 2), ('b', 3)):
d[x].append(y)
这比 IMO 多一步是必要的,我在这里遗漏了什么吗?