setdefault函数的用法及理解

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

dict.setdefault(key, default=None)

Jetbrains全家桶1年46,售后保障稳定

功能:
如果键不存在于字典中,将会添加该键并将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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓服务(Service)的两种开启方式以及服务的生命周期

    安卓服务(Service)的两种开启方式以及服务的生命周期

    2022年2月4日
    52
  • 教育游戏常见开发工具(转)[通俗易懂]

    教育游戏常见开发工具(转)[通俗易懂]   就开发工具而言,教育游戏软件与其它游戏软件的开发工具没有什么本质的区别。目前用于游戏开发的工具主要有这样几种:a)VisualStudio组件Visua1C++系列     它被认为是当今最强大的游戏软件开发工具,用它开发的游戏数量很多,代表作有:暴雪娱乐的“Diabl。暗黑破坏神11”、“魔兽争霸”、“星际争霸”;其他公司产品:“命令与征服”、“FIFA”等大家熟悉的大型游戏。    

    2022年6月2日
    41
  • python批量修改文件夹和文件名_python读写文件并替换文件内容

    python批量修改文件夹和文件名_python读写文件并替换文件内容该代码可实现,例如:文件名称为’123abc.txt’,经代码执行后可将文件重命名为’123def.txt’。importosdefrename():#函数功能为:重命名文件前缀名,将文件夹中所有前缀名包含’abc’的用’def’来替换path=’./此处填写要批量替换文件所在的文件夹名称’#文件夹地址file_list=os.listdir(path)

    2022年10月30日
    0
  • 有名的博客网站「建议收藏」

    有名的博客网站「建议收藏」 根据自身特殊的定位和客户群,不同的网站有着不同的表现手法,所强调的功能和服务也有很大的区别,有的是独立托管网站,有的依附于门户或专业、行业网站,这种多样化的博客托管形成丰富多彩的博客内容和广泛的接触面及影响力,多样化产生了精彩,而这正是值得我们去深入研究并借鉴的地方。下文的点评即是基于大众对各博客托管网站的认识,力求从客观公正的角度加以整体分析。No.1:博客网——http://

    2022年7月12日
    13
  • endnote x9中文版安装教程_vivo怎么强制安装软件

    endnote x9中文版安装教程_vivo怎么强制安装软件一、下载在百度中搜索“Endnotex9”,点第一个链接进入下载页面。软件大小为108MB,下载的是一个压缩包,如下图所示,双击解压之后是右侧的图标,解压到文件夹,双击即可安装。二、安装直接安装即可,可以更换安装路径备注:安装成功后使用汉化版,可以将CHS文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下。使用英文版,可以将ENG文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下。不论用的是英文版还是中文版,替换之后即可使用…

    2022年10月11日
    0
  • ASP .NET DropDownList多级联动事件

    ASP .NET DropDownList多级联动事件思路假如有三级省、市、区,先加载出所有省选择省之后,加载出该省所有市选择市之后,加载出该市所有区重新选择省,则清空市和区重新选择市,则清空区想好数据结构,不同的数据结构做法不同例子数据结构publicclassArea{publicintPKID{get;set;}publicintParentID{get;set;}…

    2022年9月11日
    0

发表回复

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

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