添加两个没有共同元素的字典列表

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'}]