如何比较python中的两个字典列表(JSON)并只输出它们之间的更改?
我需要比较以下列表:如何比较python中的两个字典列表(JSON)并只输出它们之间的更改?,python,json,python-3.x,python-2.7,dictionary,Python,Json,Python 3.x,Python 2.7,Dictionary,我需要比较以下列表: Old list: [ { "dns-a": [ "107.180.51.238", "107.180.51.238" ], "dns-aaaa": [], "domain-name": "raz.com", "fuzzer": "original*" }, { "dns-a": [
Old list:
[
{
"dns-a": [
"107.180.51.238",
"107.180.51.238"
],
"dns-aaaa": [],
"domain-name": "raz.com",
"fuzzer": "original*"
},
{
"dns-a": [
"69.172.200.131",
"69.172.200.131"
],
"dns-aaaa": [],
"domain-name": "raza.com",
"fuzzer": "addition"
},
]
New List:
[
{
"dns-a": [
"107.180.51.238",
"107.180.51.238"
],
"dns-aaaa": [],
"domain-name": "raz.com",
"fuzzer": "original*"
},
{
"dns-a": [
"69.172.200.131",
"69.172.200.131"
],
"dns-aaaa": [],
"domain-name": "raza.com",
"fuzzer": "addition"
},
{
"dns-a": [
"104.224.184.187",
"104.224.184.187"
],
"dns-aaaa": [],
"domain-name": "razb.com",
"fuzzer": "addition"
}
]
The output should be:
{
"dns-a": [
"104.224.184.187",
"104.224.184.187"
],
"dns-aaaa": [],
"domain-name": "razb.com",
"fuzzer": "addition"
}
我尝试了以下方法:
def Diff(old_list, new_list):
list_dif = [i for i in old_list + new_list if i not in old_list or
i not in new_list]
return list_dif
当列表相同时,我得到的结果是没有什么不同,但如果有一样东西不同,我得到的是整个列表
我的选择是什么?
我也看过类似的解决方案,但都不适合我 试试这个:
difference = filter(lambda x: x not in old_list, new_list) + filter(lambda x: x not in new_list, old_list)
到目前为止你试过什么?StackOveflow不是WriteForMe代码编辑器。请分享您的工作,社区将帮助您实现目标!非常感谢您可能的副本!这正是我想要的