如何从 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-09-16

815 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告