Python字典setdefault与get方法详解及对比

云舒
云舒
发布时间:2026-10-13| 3人浏览过
原创

本文详细解析Python字典中get和setdefault两个方法的用法。当访问不存在的键时,直接索引会引发KeyError,而这两个方法可安全返回默认值。通过代码示例展示如何指定默认值,并对比两者在修改原字典行为上的差异,帮助开发者编写更健壮的代码。

Python字典get与setdefault方法详解

本文深入探讨Python字典中setdefault与get方法的具体应用,通过详细代码示例解析其工作机制,为开发者提供实用的参考指南。

直接访问键与异常处理

在Python字典对象中,通常可以直接通过键名获取对应的键值,例如:


>>> d = {"x":1,"y":2}
>>> d["x"]
>>> d["y"]
>>>

然而,如果尝试访问字典中不存在的键,程序将抛出异常:


>>> d["z"]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'z'
>>>

使用get和setdefault安全获取值

这种直接访问方式会破坏代码的执行流程。为了避免此类错误,可以使用get方法或setdefault方法。这两种方法的功能相似:若键存在于字典中,则返回该键对应的值;若键不存在,则返回一个默认值(默认为None,但可自定义设定),具体表现如下:


d = {"x":1, "y":2}
print(d.get("z"))
print(d.get("z",9))

运行上述代码后,输出结果如下:


None
9

方法行为对比与总结

从结果可以看出,键“z”并不存在于字典中。使用get方法获取该键时,返回None;当再次调用get方法并指定默认值为9时,则返回9。setdefault方法的返回行为与此一致。


d = {"x":1, "y":2}
print(d.setdefault("z"))
print(d.setdefault("z",9))

以上内容涵盖了Python字典get与setdefault方法的核心用法,希望对读者的学习和工作有所助益,欢迎继续支持本站获取更多技术内容。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。