比较两个列表并使用缺少的项目创建新列表

时间:2018-03-28 22:35:09

标签: python list dictionary compare

如何比较两个列表数据集并创建一个缺少值的新数据集。

lis1=[{'a':'1','b':'2','c':'3','d':'4','e':'5'}]
lis2=[{'a':'1','b':'2'}]

我尝试了以下代码

lis3=set(lis2)-set(lis1)

但是它出现了这个错误:

TypeError: unhashable type: 'dict'

我也找到了这篇文章,并尝试使用该代码,但它也没有与我的工作: enter link description here

我很感谢您的支持

2 个答案:

答案 0 :(得分:1)

实际上你有两个字典而不是两个列表,所以

dict(set(lis1[0].items()) ^ set(lis2[0].items()))

答案 1 :(得分:0)

您可以尝试' - '太:

print(dict(set(lis1[0].items())-set(lis2[0].items())))

输出:

{'d': '4', 'e': '5', 'c': '3'}