'To delete dictionaries with duplicate values for keys in two dictionary lists

I want to remove a dictionary from the l2 list that has duplicate values for the ["name"] key in two dictionary lists. How do I do this?

l = [
  {
    "id": 1,
    "name": "John"
  },
  {
    "id": 2,
    "name": "Tom"
  }
]

l2 = [
  {
    "name": "John",
    "gender": "male",
    "country": "USA"
  },
  {
    "name": "Alex",
    "gender": "male"
    "country": "Canada"
  },
  {
    "name": "Sofía",
    "gender": "female"
    "country": "Mexico"
  },
]

Results sought

[
  {
    "name": "Alex",
    "gender": "male"
    "country": "Canada"
  },
  {
    "name": "Sofía",
    "gender": "female"
    "country": "Mexico"
  },
]


Solution 1:[1]

Try:

>>> [d for d in l2 if d["name"] not in [d1["name"] for d1 in l]]
[{'name': 'Alex', 'gender': 'male', 'country': 'Canada'},
 {'name': 'SofĂ­a', 'gender': 'female', 'country': 'Mexico'}]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 not_speshal