python:用相同的key值合并字典

时间:2014-02-11 19:56:34

标签: python dictionary merge

我是python的新手并且已经查看了合并词典的其他答案,但仍然有点困惑。 我希望通过特定键中的公共值将python中的两个词典合并在一起,以便在新词典中的两个词典中输出该公共键和其他键。

以下是示例数据:

add_sal = {'career_medicine': None, 'career_law': None, 'median_salary': None, 'mean_salary': 75000.0, 'career_business': 'operations / logistics', 'number': None}

add_perc = {'percent': 0.07, 'career_business': 'operations / logistics'}

我想合并'career_business'的关键价值对:'运营/物流' 并输出一个如下所示的字典:

add_all = {'career_medicine': None, 'career_law': None, 'median_salary': None, 'mean_salary': 75000.0, 'career_business': 'operations / logistics', 'number': None, 'percent': 0.07}

另一个问题是我不知道名称是否匹配,我循环遍历add_sal列表和add_perc列表。

任何建议将不胜感激! 先感谢您!

1 个答案:

答案 0 :(得分:4)

要求的内容已经足够了:

import copy
if 'career_business' in add_sal and 'career_business' in add_perc and \
      add_sal['career_business'] == add_perc['career_business']:
   add_all = copy.deepcopy( add_sal )
   add_all['percent'] = add_perc['percent']

然而,您的数据结构对于您似乎拥有的数据类似乎相当奇怪。你没有说出你试图用它来解决什么问题,但是你选择一个随意查看它的字典似乎可能是你问题的根源。也许你想要的东西更像是一个由职业名称键入的词典,如:

  

career_sal ['operations / logistics'] = 75000.0

和其他作品的相应内容。