脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2025/7/3 浏览:3 次 )

前言

在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脚本实现自动将数据库备份到 Dropbox
下一篇:一张图带我们入门Python基础教程
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap