【问题标题】:python: merging dictionaries by identical value of key [duplicate]python:通过键的相同值合并字典[重复]
【发布时间】:2014-03-09 19:42:04
【问题描述】:

我是 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 列表。

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

【问题讨论】:

  • 如果密钥在两者中都存在,那你想发生什么?
  • 无论如何,这个问题已经在 Stack Overflow 上被问过很多次了。我建议您检查现有问题以找到符合您条件的问题。
  • 我已经创建了两个字典,除了“career_business”变量之外没有重叠。
  • 我看过那个,但我不知道他们是否看过密钥的值。如,它将它们合并在一起,但只查看密钥的存在。我需要键的值相同,否则不希望它合并。

标签: python dictionary merge


【解决方案1】:

要求的事情已经完成了:

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['运营/物流'] = 75000.0

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

【讨论】:

    猜你喜欢
    • 2019-06-04
    • 2023-02-06
    • 2019-09-21
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多