Python中字典的setdefault()方法教程

发布时间 - 2026-01-10 22:54:30    点击率:

前言

在python基础知识中有说过,字典是可变的数据类型,其参数又是键对值。setdefault()方法和字典的get()方法在一些地方比较相像,都可以得到给定键对应的值。但setdefault()方法可以在字典中并不包含有给定键的情况下,为给定键设定相应的值。

Python 字典的 setdefault 方法原型如下:

dict.setdefault(key, default=None)

如果给定的 key 在字典中则返回该值,如果不在字典中,就将 key 插入到字典中,并将值设置为指定的 default 参数,default 的缺省值为 None。

使用 setdefault 方法相当于如下的操作:

if key in dict:
 reurn dict[key]
else:
 dict[key] = default
 return default

该方法与字典的 get 方法有些相似,但有些区别。dict.get dict.setdefault 方法在 key 存在于字典中时都能返回该值,在 key 不在字典中时,也都能返回缺省的值。两个方法的区别在于,当 key 不在字典中时 setdefault 方法会在字典插入缺省的键值并返回,而 get 方法只返回缺省值,不向字典中插入新的 key。

示例:

>>> dct = {}
>>> dct
{}
>>> dct["name"] = "huoty"
>>> dct
{'name': 'huoty'}
>>> dct.setdefault("name", "esenich")
'huoty'
>>> dct
{'name': 'huoty'}
>>> dct.setdefault("fname", "esenich")
'esenich'
>>> dct
{'name': 'huoty', 'fname': 'esenich'}
>>> dct.setdefault("addr")
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("name", "xxx")
'huoty'
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("age")
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}
>>> dct.get("age", 2)
2
>>> dct
{'name': 'huoty', 'fname': 'esenich', 'addr': None}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# python字典setdefault  # python  # setdefault  # python中setdefault  # Java map.getOrDefault()方法的用法详解  # python字典setdefault方法和get方法使用实例  # python 字典 setdefault()和get()方法比较详解  # Java 8中default方法能做什么?不能做什么?  # Python使用defaultdict读取文件各列的方法  # python错误:AttributeError: ''module'' object has no   # Java8新特性之默认方法(default)浅析  # default怎么修饰接口中的方法详解  # 中时  # 都能  # 又是  # 中有  # 说过  # 会在  # 并将  # 这篇文章  # 就将  # 可以得到  # 设置为  # 不向  # 值为  # 键值  # 情况下  # 有疑问  # esenich  # fname 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 浅谈Javascript中的Label语句  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何在Windows虚拟主机上快速搭建网站?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  电商网站制作价格怎么算,网上拍卖流程以及规则?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  如何在 React 中条件性地遍历数组并渲染元素  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  Android仿QQ列表左滑删除操作  大型企业网站制作流程,做网站需要注册公司吗?  Laravel如何使用Telescope进行调试?(安装和使用教程)  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel怎么使用Intervention Image库处理图片上传和缩放  Android 常见的图片加载框架详细介绍  海南网站制作公司有哪些,海口网是哪家的?  网站页面设计需要考虑到这些问题  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  清除minerd进程的简单方法  免费网站制作appp,免费制作app哪个平台好?  Linux网络带宽限制_tc配置实践解析【教程】  Swift中switch语句区间和元组模式匹配  Laravel如何生成URL和重定向?(路由助手函数)  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  python中快速进行多个字符替换的方法小结  如何在橙子建站中快速调整背景颜色?  如何获取PHP WAP自助建站系统源码?  如何在IIS7上新建站点并设置安全权限?  如何选择可靠的免备案建站服务器?  如何构建满足综合性能需求的优质建站方案?  想要更高端的建设网站,这些原则一定要坚持!  在线制作视频的网站有哪些,电脑如何制作视频短片?  在线制作视频网站免费,都有哪些好的动漫网站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  用v-html解决Vue.js渲染中html标签不被解析的问题  香港网站服务器数量如何影响SEO优化效果?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  英语简历制作免费网站推荐,如何将简历翻译成英文?  文字头像制作网站推荐软件,醒图能自动配文字吗?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Android GridView 滑动条设置一直显示状态(推荐)  专业商城网站制作公司有哪些,pi商城官网是哪个?