如何从 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'}
广告