Python 查找集合减法或字典列表之间的差异
我有两个字典列表,如下所示,都是不同长度的Python 查找集合减法或字典列表之间的差异,python,python-3.x,python-2.7,dictionary,Python,Python 3.x,Python 2.7,Dictionary,我有两个字典列表,如下所示,都是不同长度的 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'},
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'}]
我有不同的方法,有人能帮我吗你可以试试这个:
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))
希望这能帮上忙。你为此做了什么?非常感谢你,它发挥了巨大的作用,挽救了我的一天