添加两个没有共同元素的字典列表
Add two lists of dictionary without common elements
a = [{
"class": "class1",
"subclass": "subclass1"
}]
b = [{
'class': 'class1',
'subclass': 'subclass2'
},
{
'class': 'class3',
'subclass': 'subclass3'
}]
final_result= [{
"class": "class1",
"subclass": "subclass1"
},
{
'class': 'class3',
'subclass': 'subclass3'
}]
我想添加列表 'b' 和 'a',如果列表 'a' 中存在另一个具有相同 class 的元素,则排除该元素,如上面的代码所示有一个普通的字典 class - 'class1'
IIUC,您可以创建 a 的 类 的 set
并遍历 b 以仅保留具有新 类:
的元素
existing = set(d['class'] for d in a)
# {'class1'}
c = a + [d for d in b if d['class'] not in existing]
输出:
[{'class': 'class1', 'subclass': 'subclass1'},
{'class': 'class3', 'subclass': 'subclass3'}]
a = [{
"class": "class1",
"subclass": "subclass1"
}]
b = [{
'class': 'class1',
'subclass': 'subclass2'
},
{
'class': 'class3',
'subclass': 'subclass3'
}]
final_result= [{
"class": "class1",
"subclass": "subclass1"
},
{
'class': 'class3',
'subclass': 'subclass3'
}]
我想添加列表 'b' 和 'a',如果列表 'a' 中存在另一个具有相同 class 的元素,则排除该元素,如上面的代码所示有一个普通的字典 class - 'class1'
IIUC,您可以创建 a 的 类 的 set
并遍历 b 以仅保留具有新 类:
existing = set(d['class'] for d in a)
# {'class1'}
c = a + [d for d in b if d['class'] not in existing]
输出:
[{'class': 'class1', 'subclass': 'subclass1'},
{'class': 'class3', 'subclass': 'subclass3'}]