When it is required to remove dictionaries with matching values, a dictionary comprehension is used.
Below is a demonstration of the same −
Example
my_dict_1 = [{'Hi': 32, "there": 32, "Will":19},{'Hi': 19, "there": 100, "Will": 13}, {'Hi': 72, "there": 19, "Will": 72}]
print("The first dictionary is : ")
print(my_dict_1)
my_dict_2 = [{'Hi': 72, "Will": 19}, {"Will": 13, "Hi": 19}]
print("The second dictionary is : ")
print(my_dict_2)
K = "Hi"
print("The value of K is ")
print(K)
temp = { element[K] for element in my_dict_2}
my_result = [element for element in my_dict_1 if element[K] not in temp]
print("The result is : " )
print(my_result)Output
The first dictionary is :
[{'Hi': 32, 'there': 32, 'Will': 19}, {'Hi': 19, 'there': 100, 'Will': 13}, {'Hi': 72, 'there': 19, 'Will': 72}]
The second dictionary is :
[{'Hi': 72, 'Will': 19}, {'Will': 13, 'Hi': 19}]
The value of K is
Hi
The result is :
[{'Hi': 32, 'there': 32, 'Will': 19}]Explanation
Two dictionaries are defined and is displayed on the console.
A value for K is defined and displayed on console.
The second dictionary is iterated over, and elements are checked with K and stored in a temporary variable ‘temp’.
The first dictionary is iterated over, and elements in it are checked with the temporary variable ‘temp’ and assigned to a variable.
This result is assigned to a variable.
This is the output that is displayed on the console.