python - 如何找到两个字典列表之间的区别?

标签 python list dictionary set

我有两个字典列表,我想找出它们之间的区别(即第一个列表中存在但第二个列表中不存在的内容,以及第二个列表中存在但第一个列表中不存在的内容)。

问题是它是一个字典列表

a = [{'a': '1'}, {'c': '2'}]
b = [{'a': '1'}, {'b': '2'}]

set(a) - set(b)

结果

TypeError: unhashable type: 'dict'

期望的结果:

{'c': '2'}

我该如何实现?

最佳答案

您可以使用in 运算符来查看它是否在列表中

a = [{'a': '1'}, {'c': '2'}]
b = [{'a': '1'}, {'b': '2'}]

>>> {'a':'1'} in a
True
>>> {'a':'1'} in b
True

>>> [i for i in a if i not in b]
[{'c': '2'}]

关于python - 如何找到两个字典列表之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552972/

相关文章:

ios - 如何使用Codable解码字典的JSON字典(具有不同的键)?

c# - Dictionary.cs 中的 FindEntry 函数

c++ - C++中的引用速度

python - 如何在图 block map 上进行运动?

python - 如何在保留 '\' 的同时替换 '\n'?

python - 将多个输入 CSV 文件中的数据以列格式写入单个 CSV

r - 如何简化R中的嵌套列表?

python - 如何将 Pandas isocalendar() 应用于日期列表而不是单个日期

python - python中的list(set)操作是O(1)吗?

python - 如何使用 py2exe 将文本文件嵌入到单个可执行文件中