Python | Removing dictionary from list of dictionaries

03 Jan, 2019
The common utility to remove the dictionary corresponding to particular key in a list of dictionaries is also a problem whose concise version is always helpful. This has application in web development due to the introduction of No-SQL databases, which work mostly on Key-Value pairs. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using del + loopIn the naive method of performing this particular task, we require to use del to delete the particular key if it matches the key that is required to be deleted.
# Python3 code to demonstrate # to delete dictionary in list# using del + loop   # initializing list of dictionariestest_list = [{"id" : 1, "data" : "HappY"},             {"id" : 2, "data" : "BirthDaY"},             {"id" : 3, "data" : "Rash"}]  # printing original list print ("The original list is : " + str(test_list))  # using del + loop # to delete dictionary in listfor i in range(len(test_list)):    if test_list[i]['id'] == 2:        del test_list[i]        break  # printing resultprint ("List after deletion of dictionary : " +  str(test_list))
The original list is : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 2, ‘data’: ‘BirthDaY’}, {‘id’: 3, ‘data’: ‘Rash’}]List after deletion of dictionary : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 3, ‘data’: ‘Rash’}]
 Method #2 : Using list comprehensionThis method works by constructing the whole new or overwriting the original list by all the dictionaries except the one that has the key that has to be deleted.
# Python3 code to demonstrate # to delete dictionary in list# using list comprehension  # initializing list of dictionariestest_list = [{"id" : 1, "data" : "HappY"},             {"id" : 2, "data" : "BirthDaY"},             {"id" : 3, "data" : "Rash"}]  # printing original list print ("The original list is : " + str(test_list))  # using list comprehension# to delete dictionary in listres = [i for i in test_list if not (i['id'] == 2)]  # printing resultprint ("List after deletion of dictionary : " +  str(res))
The original list is : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 2, ‘data’: ‘BirthDaY’}, {‘id’: 3, ‘data’: ‘Rash’}]List after deletion of dictionary : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 3, ‘data’: ‘Rash’}]
 Method #3 : Using filter() + lambdafilter function can be used to get the dictionary with the required key and lambda function is used to iterate to the lists elements one by one before which filter can perform its task.
# Python3 code to demonstrate # to delete dictionary in list# using filter() + lambda  # initializing list of dictionariestest_list = [{"id" : 1, "data" : "HappY"},             {"id" : 2, "data" : "BirthDaY"},             {"id" : 3, "data" : "Rash"}]  # printing original list print ("The original list is : " + str(test_list))  # using filter() + lambda# to delete dictionary in listres = list(filter(lambda i: i['id'] != 2, test_list))  # printing resultprint ("List after deletion of dictionary : " +  str(res))
The original list is : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 2, ‘data’: ‘BirthDaY’}, {‘id’: 3, ‘data’: ‘Rash’}]List after deletion of dictionary : [{‘id’: 1, ‘data’: ‘HappY’}, {‘id’: 3, ‘data’: ‘Rash’}]
Python dictionary-programs
Python list-programs
Python
Python Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
Python program to convert a list to string
Defaultdict in Python
Python | Get dictionary keys as a list
Python | Convert a list to dictionary
Python Program for Fibonacci numbers