Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较两个列表并用缺少的项目创建新列表_Python_List_Dictionary_Compare - Fatal编程技术网

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