如何从Python字典中删除一个键?
在Python中,字典是一个无序的数据集合,用于存储数据值,例如 Map,它不像其他数据类型只存储单一值。字典的键必须是唯一的且是不可变的数据类型,例如字符串、整数和元组,但键的值可以重复且是任何类型。字典是可变的,因此可以在定义字典之后添加或删除键。
有许多方法可以从字典中删除一个键,以下是几种方法。
阅读更多:Python 教程
使用pop(key,d)
pop(key, d) 方法从字典中返回一个键的值。它接受两个参数:要删除的键和一个可选返回值,如果无法找到键,则返回该值。
示例1
以下是使用所需关键字参数来弹出一个元素的示例。
#创建一个带有键值对的字典
#使用pop函数删除一个键
dict = {1: "a", 2: "b"}
print(dict)
dict.pop(1)
#删除一个键后打印字典
输出
执行上述程序将生成以下输出。
{1: 'a', 2: 'b'}
示例2
在下面的示例中,通过将弹出的值赋给一个变量来访问弹出的键值。
#创建一个带有键值对的字典
#使用pop函数删除一个键
dict = {1: "a", 2: "b"}
print(dict)
value=dict.pop(1)
#删除一个键后打印字典
print(dict)
#打印弹出的值
print(value)
输出
执行上述程序将生成以下输出。
{1: 'a', 2: 'b'}
{2: 'b'}
a
示例3
以下是一个示例,展示了使用 del() 函数从字典中删除键。与 pop() 使用字典不同,我们无法使用 del() 函数返回任何值。
#创建一个带有键值对的字典
#使用pop函数删除一个键
dict = {1: "a", 2:}
print(dict)
del(dict[1])
#删除一个键后打印字典
print(dict)
输出
执行上述程序将生成以下输出。
{1: 'a', 2: 'b'}
{2: 'b'}
使用字典推导式
前面的技术在使用时会更新字典,这意味着键值对将被删除。如果我们需要保留原始键,可以使用一个自定义函数来实现。
在Python中,大家都知道可以使用列表推导式从现有列表中构造一个新的列表。我们可以使用字典推导式来执行相同的操作,只不过是针对字典的。使用字典推导式,我们不是从列表中删除条目,而是使用一个条件来排除我们不想要的值来创建一个新的字典。
示例
以下是一个示例,其中使用字典推导式从Python字典中删除一个键。
dict = {1: "a", 2: "b"}
#删除前打印字典
print(dict)
dict2 = {k: i for k, i in dict.items() if k != 1}
#打印新的字典
print("字典推导式后的字典")
print(dict2)
输出
执行上述程序后,以下输出会生成。
{1: 'a', 2: 'b'}
字典推导式后的字典
{2: 'b'}
极客教程