关于小悟志网站地图归档友情链接联系Feed

云上小悟 + 

首页 » InfoTech »

Python字典(Dictionary)setdefault()函数理解

InfoTech
2017年1月21日 / 127次阅读
标签:麦新杰用Python

文章《Python字典(Dictionary)setdefault()函数理解》的特色图片

在Python中,字典(Dictionary)类型是一个mapping mutable的数据类型,这个对象有一个函数,setdefault。

dict.setdefault(key, default=None)

 

setdefault从字面含义上来看,就是设置默认值的意思,但是此函数并不能真正改变已经存在的key对应的value。

>>>
>>> ddd = {}
>>> ddd.setdefault('a',1)
1
>>> ddd.setdefault('a',2)
1
>>> ddd
{'a': 1}
>>>

key='a'一开始不存在,使用setdefault函数将'a'的默认值设置为1,然后再次调用setdefault函数,并不能改变'a'的默认值。

在setdefault函数使用时,如果不指定value,默认的value就是None(None在Python中也是一个对象,记住Python中一切都是对象,Python支持动态类型变换)。

>>>
>>> ddd.setdefault('b')
>>> ddd
{'a': 1, 'b': None}
>>> ddd.setdefault('b',2)
>>> ddd
{'a': 1, 'b': None}
>>>

 

由此可以看出,setdefault函数的设计思想,设置key对应的默认值,如果key存在,key对应的value不会被改变,而且函数总是返回key的默认值。

在setdefault之后,dict类型的对象就有了index(key),然后就可以直接通过index来修改对应的value。或者直接通过index(key),可以增加dict对象中的key-value pairs。

>>>
>>> dt = {}
>>> dt['a']=1
>>> dt['b']=1
>>> dt['c']=1
>>> dt
{'a': 1, 'b': 1, 'c': 1}
>>>

在只知道key,还不知道value的时候,可以使用setdefault来设置key,默认key对应的value是None。或者直接这样:

>>>
>>> dg = {}
>>> dg['abc']=None
>>>

本文链接:http://www.maixj.net/ict/python-dictionary-setdefault-14000
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1

网站二维码
拍拍贷
go to top