首页  >  文章  >  后端开发  >  Python - 从字典列表中删除字典

Python - 从字典列表中删除字典

WBOY
WBOY转载
2023-08-19 21:49:041267浏览

Python - 从字典列表中删除字典

字典是Python中常用的功能,用于根据用户的需要存储数据。另一个典型的过程涉及编辑或操作这些数据。要成为一个高效和快速的程序员,你必须弄清楚如何从字典列表中删除一个字典。本文将介绍从字典列表中删除字典的许多技巧。

从字典列表中删除字典的不同方法

循环方法

我们将指定要从字典列表中删除的字典,然后我们将使用if()创建一个条件来提供一个参数,以从字典列表中删除该字典。我们可以通过以下示例更清楚地理解:

Example

的中文翻译为:

示例

# 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'}]  

列表推导式

通过使用列表推导方法,我们可以通过应用条件来删除特定的字典,然后我们可以创建一个修改后的字典列表,其中不包含指定的字典。我们可以通过以下示例更清楚地理解:

Example

的中文翻译为:

示例

#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'}]  

改变原始列表

在这种方法中,我们不会创建任何新的列表,而是直接在原始字典列表中进行更改。因此,这样做既简单又快速,也不会产生数据重复。我们可以通过以下示例更清楚地理解:

Example

的中文翻译为:

示例

# 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'}] 

过滤函数

正如其名称所示,我们将简单地应用一个过滤器来指定要从字典列表中删除的字典。我们可以通过以下示例更好地理解:

Example

的中文翻译为:

示例

#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'}]   

列表索引

这种方法仅在字典列表较小且您知道要删除的字典的确切位置时使用。因此,您只需指定要删除的字典的位置。让我们举一个例子来更清楚地理解:

Example

的中文翻译为:

示例

#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'}]  

结论

在处理大量数据时,修改数据是一个必要的步骤。因此,了解各种技术以便快速实施修改是非常重要的。

本文详细介绍了从包含在数据源中的字典列表中删除字典的所有可能方式。在进行这种类型的操作时,您必须保持警惕,因为可能会出现数据错误,可能导致数据丢失。因此,在对数据进行任何更改之前,有必要先备份数据。

以上是Python - 从字典列表中删除字典的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除