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

前言

在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}

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值