Python - Remove Dictionaries with Matching Values with K Key
Last Updated :
21 Apr, 2023
Given two dictionary lists, remove all the dictionaries which have similar value of K key from other dictionary list.
Input : test_list = [{'Gfg' : 3, "is" : 3, "best" : 9},
{'Gfg' : 8, "is" : 4, "best" : 2},
{'Gfg' : 9, "is" : 2, "best" : 4},
{'Gfg' : 8, "is" : 10, "best" : 3},
{'Gfg' : 7, "is" : 1, "best" : 7}], check_list = [{'Gfg' : 8, "Best" : 1}, {"Best" : 2, "Gfg" : 7}], K = "Gfg"
Output : [{'Gfg': 3, 'is': 3, 'best': 9}, {'Gfg': 9, 'is': 10, 'best': 3}]
Explanation : All dictionaries with "Gfg"'s value as 8 or 7 is removed.
Input : test_list = [{'Gfg' : 3, "is" : 3, "best" : 9},
{'Gfg' : 8, "is" : 4, "best" : 2}], check_list = [{'Gfg' : 8, "Best" : 1}, {"Best" : 2, "Gfg" : 7}], K = "Gfg"
Output : [{'Gfg': 3, 'is': 3, 'best': 9}]
Explanation : All dictionaries with "Gfg"'s value as 8 or 7 is removed.
Method 1: Using list comprehension + dictionary comprehension
In this, we perform tasks of getting a set of elements using dictionary comprehension, and then a new list is constructed using list comprehension by testing K key's values absence in the constructed set of values.
The whole task is conducted in two steps,
- All the unique values are extracted from check_list corresponding to key K using set().
- Each dictionary in test list is checked for key K's value, if it is present in set created in first step, then that dictionary is omitted in result, else dictionary is added as result.
Python3
# Python3 code to demonstrate working of
# Remove Dictionaries with Matching Values with K Key
# Using dictionary comprehension + list comprehension
# initializing list
test_list = [{'Gfg': 3, "is": 3, "best": 9},
{'Gfg': 8, "is": 4, "best": 2},
{'Gfg': 1, "is": 2, "best": 4},
{'Gfg': 9, "is": 10, "best": 3},
{'Gfg': 7, "is": 1, "best": 7}]
# printing original list
print("The original list is : " + str(test_list))
# initializing check dictionary list
check_list = [{'Gfg': 8, "Best": 1}, {"Best": 2, "Gfg": 7}]
# initializing Key
K = "Gfg"
# getting set of values
temp = {sub[K] for sub in check_list}
# checking for value occurrence in test dictionary using in
# filtering only with no matching values
res = [sub for sub in test_list if sub[K] not in temp]
# printing result
print("Dictionary list after removal : " + str(res))
Output:
The original list is : [{'Gfg': 3, 'is': 3, 'best': 9}, {'Gfg': 8, 'is': 4, 'best': 2}, {'Gfg': 1, 'is': 2, 'best': 4}, {'Gfg': 9, 'is': 10, 'best': 3}, {'Gfg': 7, 'is': 1, 'best': 7}] Dictionary list after removal : [{'Gfg': 3, 'is': 3, 'best': 9}, {'Gfg': 1, 'is': 2, 'best': 4}, {'Gfg': 9, 'is': 10, 'best': 3}]
Time Complexity: O(n)
Auxiliary Space: O(1)
Method 2 : Using filter() function and lambda function
- Initialize the original list, test_list.
- Initialize the check dictionary list, check_list.
- Initialize the Key, K.
- Create a set of values from the Key in the check dictionary list.
- Use the filter() function with a lambda function that checks if the value of the Key in the dictionary is not in the set of values created in step 4. This will filter out all the dictionaries that have a value of K that matches with the set of values we created in step 4.
- Create a list from the filtered objects returned by the filter() function. This list will contain all the dictionaries that do not have a matching value for the Key K in the check_list.
Python3
# initializing list
test_list = [{'Gfg': 3, "is": 3, "best": 9},
{'Gfg': 8, "is": 4, "best": 2},
{'Gfg': 1, "is": 2, "best": 4},
{'Gfg': 9, "is": 10, "best": 3},
{'Gfg': 7, "is": 1, "best": 7}]
# initializing check dictionary list
check_list = [{'Gfg': 8, "Best": 1}, {"Best": 2, "Gfg": 7}]
# initializing Key
K = "Gfg"
# getting set of values
temp = {sub[K] for sub in check_list}
# using filter() function with lambda function
res = list(filter(lambda x: x[K] not in temp, test_list))
# printing result
print("Dictionary list after removal : " + str(res))
OutputDictionary list after removal : [{'Gfg': 3, 'is': 3, 'best': 9}, {'Gfg': 1, 'is': 2, 'best': 4}, {'Gfg': 9, 'is': 10, 'best': 3}]
Time complexity: O(n), where n is the number of dictionaries in the original list, test_list.
Auxiliary space: O(m), where m is the number of dictionaries in the check_list.
Method 3: Using a for loop and a new list to store the desired output.
Here are the steps:
- Initialize the list result_list to an empty list.
- Loop through each dictionary in the test_list.
- Check if the value of the key K is in any of the dictionaries in the check_list.
- If it is not in any of the dictionaries, append the dictionary to the result_list.
- Print the result_list.
Python3
# initializing list
test_list = [{'Gfg': 3, "is": 3, "best": 9},
{'Gfg': 8, "is": 4, "best": 2},
{'Gfg': 1, "is": 2, "best": 4},
{'Gfg': 9, "is": 10, "best": 3},
{'Gfg': 7, "is": 1, "best": 7}]
# initializing check dictionary list
check_list = [{'Gfg': 8, "Best": 1}, {"Best": 2, "Gfg": 7}]
# initializing Key
K = "Gfg"
# initializing result list
result_list = []
# iterating through each dictionary in test_list
for dictionary in test_list:
# checking if K is not in any of the dictionaries in check_list
if not any(K in d and d[K] == dictionary[K] for d in check_list):
result_list.append(dictionary)
# printing result
print("Dictionary list after removal : " + str(result_list))
OutputDictionary list after removal : [{'Gfg': 3, 'is': 3, 'best': 9}, {'Gfg': 1, 'is': 2, 'best': 4}, {'Gfg': 9, 'is': 10, 'best': 3}]
The time complexity of this method is O(n*m), where n is the length of test_list and m is the length of check_list.
The auxiliary space complexity is O(k), where k is the length of result_list.
Similar Reads
Python Tutorial | Learn Python Programming Language
Python Tutorial â Python is one of the most popular programming languages. Itâs simple to use, packed with features and supported by a wide range of libraries and frameworks. Its clean syntax makes it beginner-friendly.Python is:A high-level language, used in web development, data science, automatio
10 min read
Python Interview Questions and Answers
Python is the most used language in top companies such as Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify and many more because of its simplicity and powerful libraries. To crack their Online Assessment and Interview Rounds as a Python developer, we need to master important Pyth
15+ min read
Python OOPs Concepts
Object Oriented Programming is a fundamental concept in Python, empowering developers to build modular, maintainable, and scalable applications. By understanding the core OOP principles (classes, objects, inheritance, encapsulation, polymorphism, and abstraction), programmers can leverage the full p
11 min read
Python Projects - Beginner to Advanced
Python is one of the most popular programming languages due to its simplicity, versatility, and supportive community. Whether youâre a beginner eager to learn the basics or an experienced programmer looking to challenge your skills, there are countless Python projects to help you grow.Hereâs a list
10 min read
Python Exercise with Practice Questions and Solutions
Python Exercise for Beginner: Practice makes perfect in everything, and this is especially true when learning Python. If you're a beginner, regularly practicing Python exercises will build your confidence and sharpen your skills. To help you improve, try these Python exercises with solutions to test
9 min read
Python Programs
Practice with Python program examples is always a good choice to scale up your logical understanding and programming skills and this article will provide you with the best sets of Python code examples.The below Python section contains a wide collection of Python programming examples. These Python co
11 min read
Python Data Types
Python Data types are the classification or categorization of data items. It represents the kind of value that tells what operations can be performed on a particular data. Since everything is an object in Python programming, Python data types are classes and variables are instances (objects) of thes
9 min read
Enumerate() in Python
enumerate() function adds a counter to each item in a list or other iterable. It turns the iterable into something we can loop through, where each item comes with its number (starting from 0 by default). We can also turn it into a list of (number, item) pairs using list().Let's look at a simple exam
3 min read
Python Introduction
Python was created by Guido van Rossum in 1991 and further developed by the Python Software Foundation. It was designed with focus on code readability and its syntax allows us to express concepts in fewer lines of code.Key Features of PythonPythonâs simple and readable syntax makes it beginner-frien
3 min read
Python Lists
In Python, a list is a built-in dynamic sized array (automatically grows and shrinks). We can store all types of items (including another list) in a list. A list may contain mixed type of items, this is possible because a list mainly stores references at contiguous locations and actual items maybe s
6 min read