【发布时间】:2014-10-22 13:29:25
【问题描述】:
我有两个字典列表,我想找出它们之间的区别(即第一个列表中存在但第二个列表中不存在的内容,以及第二个列表中存在但第一个列表中不存在的内容)。
问题在于它是一个字典列表
a = [{'a': '1'}, {'c': '2'}]
b = [{'a': '1'}, {'b': '2'}]
set(a) - set(b)
结果
TypeError: unhashable type: 'dict'
期望的结果:
{'c': '2'}
我该如何做到这一点?
【问题讨论】:
-
你的字典真的只有单项吗?如果是这样,将列表变成一个字典不是更有意义吗?
-
不,它们是多个项目(最有可能每个大约 15 个),这将是每个列表中大约 3000 到 1000 个字典的列表
-
你能检查一下你想要的结果吗?根据您的定义,您正在寻找 symmetric difference
标签: python list dictionary set