setdefault函数的用法及理解

setdefault函数的用法及理解dict.setdefault(key,default=None)功能:如果键不存在于字典中,将会添加该键并将default的值设为该键的默认值,如果键存在于字典中,将读出该键原来对应的值,default的值不会覆盖原来已经存在的键的值。参数:key—-要查找的键default—–查找的键不存在时用于设置的默认值使用方法示例:(以下使用方法是我理解setdefault函…

dict.setdefault(key, default=None)

功能:
如果键不存在于字典中,将会添加该键并将default的值设为该键的默认值,如果键存在于字典中,将读出该键原来对应的值,default的值不会覆盖原来已经存在的键的值。

参数:
key—-要查找的键
default—–查找的键不存在时用于设置的默认值

使用方法示例:(以下使用方法是我理解setdefault函数的过程)
方法一:给字典中不存在的键赋值为默认值None 

>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("NotExist",)
>>> print ExsampleDict
{'NotExist': None, 'Exist': 'Elle'}

 方法二:给字典中不存在的键赋值为默认值None

>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("NotExist")
>>> print ExsampleDict
{'NotExist': None, 'Exist': 'Elle'}
>>> 

方法三:读出字典中存在的键对应的值

>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("Exist","NotReplace")
>>> print Res
Elle
>>> type(Res)
<type 'str'>
>>> print ExsampleDict["Exist"]
Elle
>>> 

方法四:给字典中不存在的键赋值为”Replace” 

>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("NotExist","Replace")
>>> print Res
Replace
>>> type(Res)
<type 'str'>
>>> print ExsampleDict
{'NotExist': 'Replace', 'Exist': 'Elle'}
>>> 

方法五:给字典中不存在的键赋值为列表

>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("NotExist",[])
>>> print Res
[]
>>> type(Res)
<type 'list'>
>>> Res=ExsampleDict.setdefault("NotExist",[]).append("Replace")
>>> print ExsampleDict
{'NotExist': ['Replace'], 'Exist': 'Elle'}
>>> 

方法六:给字典中不存在的键赋值为字典

>>> ExsampleDict={"Exist":"Elle"}
>>> ExsampleDict.setdefault("NotExist",{})
{}
>>> ExsampleDict={"Exist":"Elle"}
>>> Res=ExsampleDict.setdefault("NotExist",{})
>>> print Res
{}
>>> type(Res)
<type 'dict'>
>>> Res=ExsampleDict.setdefault("NotExist",{})["Insert"]="InsertValue"
>>> print ExsampleDict
{'NotExist': {'Insert': 'InsertValue'}, 'Exist': 'Elle'}
>>> 

原文参考:https://www.cnblogs.com/elleblog/p/7533413.html 

http://www.runoob.com/python3/python3-att-dictionary-setdefault.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215578.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 尺度空间理论详解_什么叫空间尺度

    尺度空间理论详解_什么叫空间尺度http://www.cnblogs.com/ronny/p/3886013.html转载于:https://www.cnblogs.com/invisible2/p/9208314.html

    2022年10月7日
  • validation[通俗易懂]

    validation[通俗易懂]validation说明后台开发需要对对象的传进来的参数进行校验,有专门的校验工具,validationbean是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接

    2022年8月2日
  • 【XRT Vitis-Tutorials】视频处理加速(Kernel+VCU)

    【XRT Vitis-Tutorials】视频处理加速(Kernel+VCU)1前言前面文章导航:ZCU106XRT环境搭建ZCU106XRTVivado工程分析ZCU106XRTPetaLinux工程分析【XRTVitis-Tutorials】RTLKernels测试【XRTVitis-Tutorials】C++/RTLKernel混合编程测试【XRTVitis-Tutorials】图像并行计算【XRTVitis-Tutorials…

    2022年7月12日
  • 安装maven及查看maven版本号

    1、从Apache官网下载maven的压缩包,目前最新的是apache-maven-3.6.0网站地址:http://maven.apache.org/2、解压到非中文目录即可在conf文件夹下的settings.xml是maven默认的配置,一般会修改maven的默认配置文件2.1、修改本地仓库的存放位置<!–本地仓库地址–><localRepos…

    2022年4月4日
  • sql中的升序和降序的区别_数据库中的降序

    sql中的升序和降序的区别_数据库中的降序select*from表名orderby字段名desc//降序select*from表名orderby字段名asc//升序降序:select*fromemporderbyempiddesc;//按empid这一列的值降序来排列查询出emp表升序:select*fromemporderbyag…

    2022年10月22日
  • 什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别[通俗易懂]

    什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别[通俗易懂]指纹识别作为一种生物识别方案,在手机上的应用为用户日常使用带来了极大的便利,从解锁手机到应用加密再到支付等场景,原本需要输密码的繁琐场景如今按一下手指就行。随着手机的发展,指纹解锁也出现了不同的解决方案,比如OPPOK3所采用的目前主流的屏下指纹解锁,以及荣耀9X所采用侧面指纹解锁。那么在实际应用场景中,哪种指纹识别更实用呢?采用了屏幕指纹的OPPOK3与侧面指纹的荣耀9X都有着真全面屏的设计…

    2022年6月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号