EADST

Python 字典dict删除元素

# ============================================
# Python 字典(dict)删除元素(4种常用方法)
# 作者:XD
# 日期:2025-10-11
# ============================================

# 在 Python 中,字典(dict)是一种键值对(key-value)数据结构。
# 在实际编程中,我们经常需要删除字典中的某些元素。
# 下面介绍 4 种常用的删除方法:
# 1. 使用 del 关键字按键删除
# 2. 使用 pop() 方法按键删除并返回值
# 3. 使用 popitem() 删除最后一对键值
# 4. 使用 clear() 清空整个字典


# ------------------------------------------------
# 1. del:按键删除元素
# ------------------------------------------------
# del 是 Python 的关键字,用于删除变量、列表元素或字典中的键值对。
# 语法:
# del dictname[key]
# 如果 key 不存在,会抛出 KeyError。

person = {"name": "Alice", "age": 25, "city": "Beijing"}
print(person)

# 删除指定键 'age'
del person["age"]
print(person)

# 删除不存在的键会报错
# del person["gender"]  # KeyError: 'gender'

# 可以先判断键是否存在再删除
if "gender" in person:
    del person["gender"]
else:
    print("键 'gender' 不存在,无法删除。")


# ------------------------------------------------
# 2. pop():按键删除并返回被删除的值
# ------------------------------------------------
# 语法:
# dictname.pop(key[, default])
# 如果指定的 key 存在,则删除并返回对应的 value;
# 如果 key 不存在且未提供 default 参数,则抛出 KeyError。

student = {"id": 101, "name": "Tom", "score": 89}

# 删除键 'score' 并返回它的值
removed = student.pop("score")
print(f"删除的值为:{removed}")
print(student)

# 删除不存在的键并提供默认值(不会报错)
removed = student.pop("grade", "无此项")
print(f"删除结果:{removed}")
print(student)


# ------------------------------------------------
# 3. popitem():删除最后一个键值对
# ------------------------------------------------
# 语法:
# dictname.popitem()
# popitem() 会删除并返回字典中的最后一项(键值对),返回结果是一个元组 (key, value)
# 在 Python 3.7+ 中,字典是有序的,因此 popitem() 删除的是最后插入的那一项。

info = {"a": 1, "b": 2, "c": 3}
print("删除前:", info)

# 删除最后一个键值对
item = info.popitem()
print(f"删除的键值对:{item}")
print("删除后:", info)

# 连续调用 popitem() 直到字典为空
while info:
    print("继续删除:", info.popitem())
print("最终字典为空:", info)


# ------------------------------------------------
# 4. clear():清空整个字典
# ------------------------------------------------
# 语法:
# dictname.clear()
# 清空所有键值对,相当于将字典重置为空。

config = {"host": "localhost", "port": 8080, "debug": True}
print("原字典:", config)

config.clear()
print("清空后:", config)  # 输出:{}


# ------------------------------------------------
# ✅ 四种方法对比总结:
# ------------------------------------------------
# | 方法         | 删除依据 | 是否返回值 | 可删除范围 | 错误情况 |
# |---------------|-----------|-------------|-------------|-----------|
# | del           | 键       | 无          | 指定键     | 键不存在时报错 |
# | pop()         | 键       | 有(返回值) | 指定键     | 键不存在时报错,可指定默认值 |
# | popitem()     | 无(删除最后一项) | 有(返回元组) | 最后一项 | 空字典时报错 |
# | clear()       | 无       | 无          | 所有键值对 | 无 |

# ------------------------------------------------
# 使用建议:
# - 想删除并获取被删值 → 用 pop()
# - 想删除最后一个元素 → 用 popitem()
# - 删除特定键且不需返回 → 用 del
# - 清空整个字典 → 用 clear()
# ------------------------------------------------
相关标签
About Me
XD
Goals determine what you are going to be.
Category
标签云
站点统计

本站现有博文304篇,共被浏览700470

本站已经建立2315天!

热门文章
文章归档
回到顶部