Python dict 删除key

1. 前言
在 Python 中,字典(dict)是一种无序的数据结构,用于存储键值对。字典中的键必须是唯一的,而值则可以不唯一。在某些情况下,我们可能需要删除字典中的某个键及其对应的值。本文将详细介绍如何在 Python 中删除字典中的键。
2. 使用 del 关键字删除键
在 Python 中,我们可以使用 del 关键字来删除字典中的键及其对应的值。下面是删除字典中某个键的示例代码:
person = {"name": "John", "age": 25, "city": "New York"}
del person["name"]
print(person)
运行结果如下:
{'age': 25, 'city': 'New York'}
在上面的示例中,首先创建了一个名为 person 的字典,其中包含了三个键值对。然后,使用 del 关键字删除了键为 "name" 的键值对。最后,输出了更新后的 person 字典。可以看到,person 字典中不再包含键为 "name" 的键值对。
需要注意的是,如果尝试删除一个不存在的键,Python 会引发 KeyError。因此,在删除之前,建议先通过调用 in 运算符检查该键是否存在。
3. 使用字典的 pop 方法删除键
除了使用 del 关键字,还可以使用字典的 pop 方法删除键及其对应的值。pop 方法接受一个参数,即要删除的键,并返回与该键相关联的值。如果键不存在,则可以通过传递第二个参数作为默认值来避免引发异常。下面是使用 pop 方法删除字典中某个键的示例代码:
person = {"name": "John", "age": 25, "city": "New York"}
removed_value = person.pop("name")
print(person)
print(removed_value)
运行结果如下:
{'age': 25, 'city': 'New York'}
John
在上面的示例中,首先创建了一个名为 person 的字典,其中包含了三个键值对。然后,调用 pop 方法并传递 "name" 作为参数来删除键为 "name" 的键值对。pop 方法返回了与 "name" 相关联的值,将其赋值给变量 removed_value。最后,输出了更新后的 person 字典和被删除的值 removed_value。
需要注意的是,如果尝试删除一个不存在的键,pop 方法将引发 KeyError。因此,在删除之前,建议先通过调用 in 运算符检查该键是否存在,或者传递第二个参数作为默认值来避免引发异常。
4. 使用字典的 popitem 方法删除最后一个键
除了删除特定的键,还可以使用字典的 popitem 方法删除字典中的最后一个键及其对应的值。popitem 方法不需要传递参数,并返回一个包含被删除键和其对应值的元组。下面是使用 popitem 方法删除最后一个键的示例代码:
person = {"name": "John", "age": 25, "city": "New York"}
removed_item = person.popitem()
print(person)
print(removed_item)
运行结果如下:
{'name': 'John', 'age': 25}
('city', 'New York')
在上面的示例中,首先创建了一个名为 person 的字典,其中包含了三个键值对。然后,调用 popitem 方法删除字典中的最后一个键值对。popitem 方法返回了被删除的键和其对应的值,将其赋值给变量 removed_item。最后,输出了更新后的 person 字典和被删除的键值对。
需要注意的是,如果尝试删除一个空字典的最后一个键,popitem 方法会引发 KeyError。因此,在删除之前,建议先通过调用 len 函数检查字典是否为空。
5. 使用字典的 clear 方法清空字典
除了删除单个键及其对应的值,还可以使用字典的 clear 方法清空整个字典。clear 方法不需要传递参数,它会将所有的键值对从字典中移除。下面是使用 clear 方法清空字典的示例代码:
person = {"name": "John", "age": 25, "city": "New York"}
person.clear()
print(person)
运行结果如下:
{}
在上面的示例中,首先创建了一个名为 person 的字典,其中包含了三个键值对。然后,调用 clear 方法清空了整个字典。最后,输出了更新后的空字典。
需要注意的是,使用 clear 方法清空字典后,字典对象仍然存在,只是不包含任何键值对。
极客教程