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

相关推荐
数字供应链安全产品选型2 分钟前
“多模态SCA+DevSecOps+SBOM风险情报预警 “数字供应链安全最佳管理体系!悬镜安全如何用AI守护万亿数字中国?
网络·人工智能·安全
攻城狮7号2 分钟前
Python爬虫第18节-动态渲染页面抓取之Splash使用上篇
开发语言·人工智能·爬虫·python·python爬虫
白雪讲堂3 分钟前
【白雪讲堂】GEO优化第7篇 -构建《推荐类》内容的结构化模板
大数据·人工智能·搜索引擎·geo
Oliverro4 分钟前
嵌入式WebRTC音视频实时通话EasyRTC助力打造AIOT智能硬件实时通信新生态
网络·人工智能·音视频
yt948329 分钟前
基于GMM的语音识别
人工智能·语音识别
像风一样自由202014 分钟前
从零开始构建微博爬虫与数据分析系统
爬虫·python
carpell15 分钟前
小白也能行【手撕ResNet代码篇(附代码)】:详解可复现
人工智能·深度学习·计算机视觉
yangmf204020 分钟前
私有知识库 Coco AI 实战(三):摄入 Elasticsearch 官方文档
人工智能·elasticsearch·搜索引擎·全文检索·coco ai
亚图跨际37 分钟前
从物理到预测:数据驱动的深度学习的结构化探索及AI推理
人工智能·深度学习
一RTOS一40 分钟前
鸿道操作系统Type 1虚拟化:破局AI机器人与智能汽车的“安全”与“算力”双刃剑
人工智能·机器人·汽车·鸿道intewell操作系统·工业os