Python 从字典列表中删除字典
字典是Python中常用的功能,用于根据用户的需求将数据存储在其中。另一个常见的操作是编辑或操作这些数据。要成为一名高效和快速的程序员,您必须弄清楚如何从字典列表中删除字典。本文将介绍从字典列表中删除字典的多种技术。
从字典列表中删除字典的不同方法
循环方法
我们将指定从字典列表中删除的字典,然后使用if()创建一个条件来删除字典。我们可以通过以下示例更清楚地理解:
示例
# Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
Remove = "Liverpool" #Specifying the dictionary to be removed
for city in Cities: # Checking all the different dictionaries
if city["City"] == Remove: #Creating a condition
Cities.remove(city) #If the condition is satisfied remove() method will be used
print(Cities) #Display the output after removing the dictionary
输出
程序的输出将如下所示:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
列表推导
通过使用列表推导方法,我们可以通过应用条件来移除特定的字典,然后我们可以创建一个修改后的字典列表,其中不包含指定的字典。我们可以通过以下示例更清楚地理解:
示例
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
Remove = "Liverpool" #Specifying Dictionary To Be Removed
Cities = [city for city in Cities if city["City"] != Remove] #Creating a new list and specifying the condition to remove the unwanted dictionary
print(Cities) #Display The Updated Output
输出
上述程序的输出如下:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
修改原始列表
在此方法中,我们不创建任何新列表,而是直接对原始字典列表进行更改。因此,这样做可以方便且快速,且不会产生数据重复。我们可以通过以下示例更清楚地理解:
示例
# Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
for City in Cities: #We will specify a condition
if City.get("location") == 'England': #If the location is England
Cities.remove(City) #Remove the dictionary with location as England
print(Cities) #Display The Modified Output
输出
上述代码的输出如下:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
筛选函数
正如名称所示,我们会简单地应用一个筛选器来指定要从字典列表中移除的字典。我们可以通过以下示例更好地理解:
示例
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
new_dictionary = list(filter(lambda City: City.get("location") != 'England', Cities)) # We specified a condition that if the location is England is found from the list then it is to be filtered out and removed from the list of dictionaries
print(new_dictionary) #Display the Modified Output
输出
上述程序的输出结果如下:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
列表索引
该方法仅在存在较小的字典列表且您知道要删除的字典的确切位置时使用。因此,您只需指定要删除的字典的位置即可。让我们举一个例子以更清楚地理解:
示例
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
dictionary_remove= 2 #It specifies the position of the dictionary to be removed
#The index number starts from 0
del Cities[dictionary_remove] #It commands to delete the dictionary in specified index number
print(Cities) #Displays the Modified Output
输出
以上程序的输出如下:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
结论
在处理大量数据时,修改数据是一个必要的步骤。因此,了解各种技术以快速实施修改是非常重要的。
本文详细介绍了从包含在数据源中的字典列表中删除字典的所有可能方法。在使用这种方法时,必须保持警惕,因为可能会出现数据错误,可能导致数据丢失。因此,在对数据进行任何更改之前,备份数据是必不可少的。