【发布时间】:2017-09-02 21:37:31
【问题描述】:
给定两个字典:
d1={'cardinal':['VA','OH'], 'meadowlark':['OR']}
d2={'meadowlark':['WY'], 'cardinal':['VA', 'IL'], 'oriole':['MD']}
如何将它们合并到一个新字典中不更新原始字典并像这样连接重复:
new_dict={'cardinal':['VA','OH','VA','IL'],'meadowlark':['OR', 'WY'], 'oriole':['MD']}
我的代码没有正确连接,但它是:
def merge(d1,d2):
import collections
a=collections.Counter(d1)
b=collections.Counter(d2)
return a+b
我不知道如何连接项目。
【问题讨论】:
-
是的,但我也无法覆盖,我需要保留重复项
-
在 d2 中
IL发生了什么? -
我打错了。我刚刚编辑到正确的版本。
-
顺便说一句,如果您不想在值中重复项,则可以使用集合作为值而不是列表,因此在
new_dict中,与'cardinal'关联的值将是{'VA', 'OH', 'IL'}。
标签: python dictionary merge concatenation