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

本问题已经有最佳答案,请猛点这里访问。

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

以下是样本数据:

1
2
3
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': 'operations / logistics'然后输出一个像这样的字典:

1
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
2
3
4
5
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

以及其它部分的对应项。