【发布时间】:2014-09-04 21:07:11
【问题描述】:
给定 n 个字典,编写一个函数,该函数将返回一个唯一字典,其中包含重复键的值列表。
例子:
d1 = {'a': 1, 'b': 2}
d2 = {'c': 3, 'b': 4}
d3 = {'a': 5, 'd': 6}
结果:
>>> newdict
{'c': 3, 'd': 6, 'a': [1, 5], 'b': [2, 4]}
到目前为止我的代码:
>>> def merge_dicts(*dicts):
... x = []
... for item in dicts:
... x.append(item)
... return x
...
>>> merge_dicts(d1, d2, d3)
[{'a': 1, 'b': 2}, {'c': 3, 'b': 4}, {'a': 5, 'd': 6}]
生成一个为这些重复键生成一个值列表的新字典的最佳方法是什么?
【问题讨论】:
-
d1= ['a':1, 'b':2]字典的语法错误,应该是d1= {'a':1, 'b':2}。
标签: python merge duplicates