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

相关推荐
苍何17 分钟前
国内也有 GPT 质感的 App 了,阿里做到了。
人工智能
美团技术团队22 分钟前
美团 LongCat 团队发布全模态一站式评测基准UNO-Bench
人工智能
top_designer34 分钟前
Firefly 样式参考:AI 驱动的 UI 资产“无限”生成
前端·人工智能·ui·aigc·ux·设计师
强盛小灵通专卖员42 分钟前
Airsim仿真、无人机、无人车、Lidar深度相机应用研究!
人工智能·无人机·sci·深度强化学习·airsim·小论文
MatrixOrigin1 小时前
矩阵起源成功登陆深圳“专精特新”专板,加速 AI 数据智能新进程!
人工智能
陈天伟教授1 小时前
人工智能技术- 语音语言- 02 机器诗人
人工智能
却道天凉_好个秋1 小时前
OpenCV(二十九):高通滤波-索贝尔算子
人工智能·opencv·计算机视觉
一名机电研究生2 小时前
华为、阿里巴巴、字节跳动 100+ Linux面试问题总结(一)
linux·华为·面试
用户5191495848452 小时前
Go语言AI智能体开发套件(ADK) - 构建复杂AI代理的开源框架
人工智能·aigc
海底的星星fly2 小时前
【Prompt学习技能树地图】检索增强生成(RAG)核心技术剖析与实践指南
人工智能·语言模型·prompt