Python 比较两个列表并用缺少的项目创建新列表
如何比较这两个列表数据集并创建一个缺少值的新数据集Python 比较两个列表并用缺少的项目创建新列表,python,list,dictionary,compare,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' 我还找到了这篇文章,并尝试使用代码,但我的代码也不起作用: 感谢您的支持事实上,您有两本词典,而不是两个列表,所以 dict(set
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'
我还找到了这篇文章,并尝试使用代码,但我的代码也不起作用:
感谢您的支持事实上,您有两本词典,而不是两个列表,所以
dict(set(lis1[0].items()) ^ set(lis2[0].items()))
您也可以尝试使用“-”:
print(dict(set(lis1[0].items())-set(lis2[0].items())))
输出:
{'d': '4', 'e': '5', 'c': '3'}
这是一个包含dict的列表:lis2=[{'a':'1','b':'2'}]是的,数据集类型是list,但内部有dictionary