【问题标题】:Find the Set substraction or the difference between the list of dictionaries查找集合减法或字典列表之间的差异
【发布时间】:2019-05-24 03:59:46
【问题描述】:

我有两个字典列表如下,两者的长度不同。

list A = [{'key1':'001', 'key2':'AAA', 'key3':'BBB'}, 
              {'key1':'002', 'key2':'BBB', 'key3':'CCC'},
               {'key1':'003', 'key2':'XYZ', 'key3':'ZYX'}]

list B = [{'key1':'001', 'key2':'AAA', 'key3':'BBB'},
              {'key1':'002', 'key2':'ABX', 'key3':'GHT'}]

我想做一个列表 A - 列表 B 它应该返回列表包含新添加的字典,以及更改任何值的字典

列表 A 的结果 - 列表 B 将返回为

List A - List B = [ {'key1':'003', 'key2':'XYZ', 'key3':'ZYX'},
                    {'key1':'002', 'key2':'BBB', 'key3':'CCC'}]

我的方法不同,有谁能帮我解决这个问题

【问题讨论】:

  • 你为此做了什么?

标签: python python-3.x python-2.7 dictionary


【解决方案1】:

你可以试试这个:

list_A = [
    {'key1':'001', 'key2':'AAA', 'key3':'BBB'},
    {'key1':'002', 'key2':'BBB', 'key3':'CCC'},
    {'key1':'003', 'key2':'XYZ', 'key3':'ZYX'}
]

list_B = [
    {'key1':'001', 'key2':'AAA', 'key3':'BBB'},
    {'key1':'002', 'key2':'ABX', 'key3':'GHT'}
]                  



def list_subtraction(from_list, to_list):
    ''' Subtracts to_list from from_list'''
    list_c = []
    for i in list_A:
        if i not in list_B:
            list_c.append(i)
    return list_c            

print(list_subtraction(list_A, list_B))

希望这会有所帮助..

【讨论】:

  • 非常感谢,它就像一个魅力,拯救了我的一天
猜你喜欢
  • 1970-01-01
  • 2010-11-24
  • 2013-02-08
  • 2012-02-09
  • 2016-03-21
  • 2017-11-13
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多