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

RCN*_*RCN 5 python merge dictionary

我是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'}
Run Code Online (Sandbox Code Playgroud)

我想合并'career_business'的关键值对:'operations/logistics'并输出一个如下所示的字典:

add_all = {'career_medicine': None, 'career_law': None, 'median_salary': None, 'mean_salary': 75000.0, 'career_business': 'operations / logistics', 'number': None, 'percent': 0.07}
Run Code Online (Sandbox Code Playgroud)

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

任何意见,将不胜感激!先感谢您!

mgk*_*bbs 9

你所要求的已经足够了:

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']
Run Code Online (Sandbox Code Playgroud)

但是,对于您似乎拥有的数据类型您的数据结构似乎很奇怪。你没有说你想用它解决什么问题,但是你选择了一本看起来随机的字典似乎是你问题的根源。也许您想要更像是以职业名称为键的字典,例如:

职业生涯['运营/后勤'] = 75000.0

以及其他部分的相应内容。