【问题标题】:check if two keys have different values in a list of dictionaries检查两个键在字典列表中是否具有不同的值
【发布时间】:2019-06-24 14:50:12
【问题描述】:

我有一个字典列表

 [{'cat': array([-3.01740319e-02,  4.39191431e-01,  3.24975878e-01, 
 -2.81387717e-02,...]},{},{},{}], where each dictionary is of a different length. 

字典中的某些键是相同的,我想检查它们对应的值是否唯一或相同。

我使用 .update 合并所有字典然后检查,但后来意识到这会覆盖一些值并且不会显示是否有任何不同/相同的值。

final = {}
for d in temp_dict_array:
    final.update(d)

我需要的只是一种方法,让我知道不同字典中的两个键具有相同或不同的值,即使只是通过一个简单的打印语句。

【问题讨论】:

  • 您在哪一部分需要帮助:查找他们共享的键,还是比较两个字典中相同键的值?
  • @ScottHunter 我需要比较两个不同字典中相同键的值。抱歉,如果我说得不够清楚

标签: list dictionary python-3.6


【解决方案1】:

找到两个字典中的键,然后检查与这些键对应的值。

其中 d1 和 d2 是您要检查的 2 个字典。

matching_keys = [key for key in d1.keys() if key in d2]

for key in matching keys:

    if d1[key] == d2[key]:
        # They're the same
    else:
        # They're not the same

(未经测试的代码)

【讨论】:

    【解决方案2】:
    if dict1[key] == dict2[key]:
        ...
    

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      • 2019-12-26
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多