Python 之字典类型内置方法(十八)

Python 之字典类型内置方法

一、引言

在 Python 编程中,字典(dictionary)是一种非常重要且强大的数据类型。它以键 - 值对(key - value pairs)的形式存储数据,键是唯一的,通过键可以快速访问对应的值。Python 为字典提供了丰富的内置方法,这些方法能帮助我们高效地操作字典。本文将详细介绍 Python 字典类型的常见内置方法,并通过大量带注释的代码示例来加深理解。

二、字典的基本操作方法

2.1 get() 方法

get() 方法用于通过键来获取字典中对应的值。如果键不存在,它可以返回一个默认值,避免因键不存在而引发 KeyError 异常。

python 复制代码
# 定义一个字典
student_scores = {'Alice': 85, 'Bob': 90, 'Charlie': 78}
# 使用 get() 方法获取 'Alice' 的分数
alice_score = student_scores.get('Alice')
print(f"Alice 的分数是: {alice_score}")

# 获取一个不存在的键的值,并指定默认值
david_score = student_scores.get('David', 0)
print(f"David 的分数(默认值)是: {david_score}")

在上述代码中,get() 方法通过键来获取对应的值。当键存在时,返回对应的值;当键不存在时,返回指定的默认值(这里是 0)。

2.2 setdefault() 方法

setdefault() 方法用于获取指定键的值,如果键不存在,则在字典中插入该键,并设置默认值。

python 复制代码
# 继续使用上面的字典
# 获取 'Eve' 的分数,如果不存在则设置默认值为 60
eve_score = student_scores.setdefault('Eve', 60)
print(f"Eve 的分数是: {eve_score}")
print("更新后的字典:", student_scores)

这里,由于 'Eve' 这个键原本不在字典中,setdefault() 方法将其插入到字典中,并设置默认值为 60,然后返回该值。

2.3 pop() 方法

pop() 方法用于删除指定键的键 - 值对,并返回该键对应的值。如果键不存在,可以指定一个默认值,否则会引发 KeyError 异常。

python 复制代码
# 从字典中删除 'Bob' 的键 - 值对,并返回其分数
bob_score = student_scores.pop('Bob')
print(f"删除的 Bob 的分数是: {bob_score}")
print("删除 Bob 后的字典:", student_scores)

# 尝试删除一个不存在的键,并指定默认值
george_score = student_scores.pop('George', 0)
print(f"尝试删除 George 的分数(默认值): {george_score}")

在这个例子中,pop() 方法成功删除了 'Bob' 的键 - 值对并返回其分数。当尝试删除不存在的键 'George' 时,由于指定了默认值 0,所以不会引发异常,而是返回默认值。

2.4 popitem() 方法

popitem() 方法用于随机删除并返回字典中的一个键 - 值对。在 Python 3.7 及以后的版本中,它会按照插入顺序删除最后一个键 - 值对。

python 复制代码
# 随机删除并返回一个键 - 值对
last_item = student_scores.popitem()
print(f"删除的键 - 值对是: {last_item}")
print("删除一个键 - 值对后的字典:", student_scores)

这里,popitem() 方法删除并返回了字典中的最后一个键 - 值对。

三、字典的遍历与视图方法

3.1 keys() 方法

keys() 方法返回一个视图对象,包含字典中所有的键。

python 复制代码
# 重新定义一个字典
fruit_prices = {'apple': 3.5, 'banana': 2.0, 'cherry': 5.0}
# 获取字典的所有键
all_keys = fruit_prices.keys()
print("字典的所有键:", all_keys)

# 遍历所有键
for key in all_keys:
    print(key)

keys() 方法返回的视图对象可以用于遍历字典的所有键,方便对键进行操作。

3.2 values() 方法

values() 方法返回一个视图对象,包含字典中所有的值。

python 复制代码
# 获取字典的所有值
all_values = fruit_prices.values()
print("字典的所有值:", all_values)

# 遍历所有值
for value in all_values:
    print(value)

通过 values() 方法,我们可以获取字典中所有的值,并对其进行遍历。

3.3 items() 方法

items() 方法返回一个视图对象,包含字典中所有的键 - 值对。

python 复制代码
# 获取字典的所有键 - 值对
all_items = fruit_prices.items()
print("字典的所有键 - 值对:", all_items)

# 遍历所有键 - 值对
for key, value in all_items:
    print(f"{key}: {value}")

items() 方法返回的视图对象可用于同时遍历字典的键和值,在处理键 - 值对时非常实用。

四、字典的更新与合并方法

4.1 update() 方法

update() 方法用于将一个字典的键 - 值对更新到另一个字典中。如果有相同的键,会覆盖原有的值。

python 复制代码
# 定义一个新的字典
new_prices = {'apple': 4.0, 'grape': 6.0}
# 将 new_prices 中的键 - 值对更新到 fruit_prices 中
fruit_prices.update(new_prices)
print("更新后的字典:", fruit_prices)

在这个例子中,update() 方法将 new_prices 字典中的键 - 值对更新到 fruit_prices 字典中,'apple' 的值被更新,'grape' 作为新的键 - 值对被添加。

五、总结与展望

5.1 总结

Python 字典的内置方法为我们提供了丰富的功能,涵盖了数据的获取、删除、遍历、更新等多个方面。get()setdefault() 方法让我们可以安全地获取和设置键 - 值对;pop()popitem() 方法用于删除键 - 值对;keys()values()items() 方法方便我们遍历字典;update() 方法可用于字典的更新和合并。熟练掌握这些方法,能让我们更高效地处理字典数据。

5.2 展望

随着 Python 在数据处理、机器学习等领域的广泛应用,对字典操作的需求可能会更加复杂多样。未来,Python 可能会进一步优化字典的内置方法,或者提供更多与字典相关的工具和特性。作为开发者,我们需要持续关注 Python 的发展动态,不断学习和探索新的方法和技巧,以更好地利用字典这种强大的数据类型来解决实际问题。

相关推荐
Python×CATIA工业智造几秒前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
千宇宙航2 分钟前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
onceco30 分钟前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
狐凄1 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
悦悦子a啊2 小时前
Python之--基本知识
开发语言·前端·python
jndingxin3 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
Sweet锦3 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言
笑稀了的野生俊4 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva4 小时前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm
hie988944 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab