原文: https://www.freecodecamp.org/news/python-remove-key-from-dictionary/

在 Python 中,字典是一种有用的数据类型,用于以键-值格式存储数据。有些时候,你可能需要从字典中删除一个特定的键值对。

在本教程中,你将学习一些字典的基础知识,以及如何删除键。

如何在 Python 中写一个字典

字典用大括号 {} 表示,键值对用冒号 : 分隔。例如,下面的代码用三个键值对初始化了一个字典:

my_dict = {'apple': 2, 'banana': 3, 'orange': 5}

你也可以使用内置的 dict() 函数来初始化字典,比如:

my_dict = dict(apple=2, banana=3, orange=5)

现在我将教你如何安全地从 Python 字典中删除键。当我说“安全地”时,我的意思是,如果这个键实际上不存在于字典中,代码就不会抛出一个错误。

我们将发现如何使用 del 关键字、pop() 方法和 popitem() 方法来实现这一目标。最后,你将看到如何使用 Python 从一个字典中删除多个键。

我们开始吧!

如何使用 del 关键字从字典中删除一个键

从字典中删除一个键值对的最常用方法是使用 del 关键字。你也可以用它来删除整个字典或特定的词。

只需使用下面的语法来访问你需要删除的值:

del dictionary[key]

让我们看一个例子:

Members = {"John": "Male", "Kat": "Female", "Doe": "Female" "Clinton": "Male"}

del Members["Doe"]
print(Members)

输出:

{"John": "Male", "Kat": "Female", "Clinton": "Male"}

如何使用 pop() 方法从字典中删除一个键

另一种从字典中删除键值对的技术是使用 pop() 方法。其语法如下所示:

dictionary.pop(key, default_value)

示例:

My_Dict = {1: "Mathew", 2: "Joe", 3: "Lizzy", 4: "Amos"}
data = My_Dict.pop(1)
print(data)
print(My_Dict)

输出:

Mathew
{2: "Joe", 3: "Lizzy", 4: "Amos"}

如何使用 popitem() 函数从字典中删除一个键

内置的 popitem() 函数从一个字典中删除最后一个键值对。需要删除的元素不能被指定,该函数不接受任何输入。

语法是这样的:

dict.popitem()

让我们考虑一个例子,以便更好地理解。

# 初始化一个字典
My_dict = {1: "Red", 2: "Blue", 3: "Green", 4: "Yello", 5: "Black"}

# 使用 popitem()
Deleted_key = My_dict.popitem()
print(Deleted_key)

输出:

(5, 'Black')

正如你所看到的,这个函数从字典中删除了最后一个键值对——5: "Black"

如何从一个字典中删除多个键

你可以用 Python 轻松地从一个字典中删除多个键。在一个键列表的循环中使用 .pop() 方法,是最安全的方法。

让我们来看看如何提供一个要删除的唯一键的列表,包括一些不存在的键:

My_dict = {'Sam': 16, 'John': 19, 'Alex': 17, 'Doe': 15}

# 定义要移除的键
keys = ['Sam', 'John', 'Doe']

for key in keys:
    My_dict.pop(key, None)

print(My_dict)

输出:

{'Alex': 17}

需要注意的是,在循环内部的 pop() 方法中,我们传入了 None 和默认值,只是为了确保在一个键不存在的情况下不打印 KeyError

如何使用 clear() 方法删除字典中的所有键

你可以使用 clear() 方法从一个字典中删除所有键值对。其语法如下:

dictionary.clear()

示例:

Colors = {1: "Red", 2: "Blue", 3: "Green"}
Colors.clear()
print(Colors)

输出:

{}

总结

对于从一个字典中删除一个或几个键值对,我们在这篇文章中讨论了多种 Python 方法。

你可以使用 del 关键字,这是从字典中删除一个键值对的最常见的方法。pop() 方法在我们需要删除一个键值对并同时得到键值对的值时很有用。使用 popitem() 函数,我们可以删除字典中的最后一个键值对。

另外,如果你需要删除字典中所有的键值对,你可以使用 clear() 方法。

让我们在 TwitterLinkedIn 上联系。你也可以订阅我的 YouTube 频道。

Happy Coding!