【问题标题】:Compare two list and making new list with missing items比较两个列表并制作缺少项目的新列表
【发布时间】:2018-03-28 22:35:08
【问题描述】:

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

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

感谢您的支持

【问题讨论】:

  • 这是一个包含字典的列表:lis2=[{'a':'1','b':'2'}]
  • 是的,数据集类型是列表但里面有字典

标签: python list dictionary compare


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你也可以试试'-':

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

    输出:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-04
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      • 2017-08-10
      相关资源
      最近更新 更多