如何从 Python 字典中删除键?


在 Python 中,字典是一种无序的数据集合,用于存储数据值,类似于映射,不像其他只存储单个值的数据类型。字典的键必须唯一且为不可变数据类型,例如字符串、整数和元组,但键值可以重复且可以为任何类型。字典是可变的,因此即使在 Python 中定义字典后,也可以添加或删除键。

有很多方法可以从字典中删除键,以下是一些方法。

使用 pop(key,d)

pop(key, d) 方法从字典中返回键的值。它接受两个参数:要删除的键和一个可选值,如果找不到键则返回该值。

示例 1

以下是使用必需键参数弹出元素的示例。

#creating a dictionary with key value pairs #Using the pop function to remove a key dict = {1: "a", 2: "b"} print(dict) dict.pop(1) #printing the dictionary after removing a key

输出

执行上述程序后会生成以下输出。

{1: 'a', 2: 'b'}

示例 2

在以下示例中,弹出的键值通过将弹出的值赋给变量来访问。

#creating a dictionary with key value pairs #Using the pop function to remove a key dict = {1: "a", 2: "b"} print(dict) value=dict.pop(1) #printing the dictionary after removing a key print(dict) #printing the popped value print(value)

输出

执行上述程序后会生成以下输出。

{1: 'a', 2: 'b'}
{2: 'b'}
a

示例 3

以下示例演示了使用del() 函数从字典中删除键。与使用字典的pop() 不同,我们不能使用 del() 函数返回任何值。

#creating a dictionary with key value pairs #Using the pop function to remove a key dict = {1: "a", 2: "b"} print(dict) del(dict[1]) #printing the dictionary after removing a key print(dict)

输出

执行上述程序后会生成以下输出。

{1: 'a', 2: 'b'}
{2: 'b'}

使用字典推导式

前面的技术在字典仍在使用时更新字典,这意味着键值对被删除。如果我们需要保留原始键,我们可以使用自定义函数来实现。

众所周知,Python 中的列表推导式可用于根据现有列表构建新列表。我们可以使用字典推导式对字典执行相同的操作。使用字典推导式,我们可以创建一个新的字典,其中包含一个排除我们不想要的值的条件,而不是从列表中删除条目。

示例

以下示例使用字典推导式从 Python 字典中删除键。

dict = {1: "a", 2: "b"} #printing dictionary before deletion print(dict) dict2 = {k: i for k, i in dict.items() if k != 1} #printing new dictionary print("dictionary after dictionary comprehension") print(dict2)

输出

执行上述程序后会生成以下输出。

{1: 'a', 2: 'b'}
dictionary after dictionary comprehension
{2: 'b'}

更新于:2022年9月16日

815 次浏览

启动你的 职业生涯

完成课程获得认证

开始学习
广告