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 的发展动态,不断学习和探索新的方法和技巧,以更好地利用字典这种强大的数据类型来解决实际问题。

相关推荐
Coovally AI模型快速验证1 分钟前
CVPR 2026|PanDA:首个多模态3D全景分割的无监督域适应框架
人工智能·3d·视觉检测·工业质检
2301_776045233 分钟前
估值和市值的区别(股票与加密资产)
大数据·人工智能
qq_白羊座8 分钟前
提示工程 | 基本概念 | 要素 | 通用技巧
人工智能
写代码写到手抽筋11 分钟前
通信同步原理与5G NR同步实际应用
人工智能·5g·语音识别
芝士就是力量啊 ೄ೨12 分钟前
Python如何编写一个简单的类
开发语言·python
胖虎喜欢静香22 分钟前
从零到一快速实现 Mini DeepResearch
人工智能·python·开源
逻辑驱动的ken23 分钟前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法
MoonBit月兔24 分钟前
「Why MoonBit 」第一期——Singularity Note AI 学习助手
开发语言·人工智能·moonbit
qq_3926906627 分钟前
Redis怎样应对Redis集群整体宕机带来的雪崩
jvm·数据库·python
β添砖java30 分钟前
深度学习(11)数值稳定+模型初始化、激活函数
人工智能·深度学习