setdefault函数的用法及理解
2024-08-30 15:21:15
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'}
方法二:读出字典中存在的键对应的值
>>> 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
最新文章
- 实现Unicode和汉字的相互转换
- Dijkstra(变形) POJ 1797 Heavy Transportation
- C++中的运算符重载
- 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版
- qt上用opencv显示摄像头视频
- Zepto源码解读
- filestream 读取视频文件
- 整理 W3CSchool 常用的CSS属性列表
- mutilple output reduce cannot write
- Linux Framebuffer驱动剖析之一—软件需求
- jupyter notebook常用快捷键
- Go学习笔记07-结构体与方法
- vue文字跑马灯效果
- springmvc学习路线1-基本配置
- 常见模块(五) random模块
- vue仿淘宝结账订单
- 动态iframe 分享
- iOS-Core Animation: 变换
- 对象序列化:pickle和shelve
- qt mysql驱动问题解绝
热门文章
- kuma docker-compose 环境试用
- kuma 学习四 策略
- Codeforces 161.D. Distance in Tree-树分治(点分治,不容斥版)-树上距离为K的点对数量-蜜汁TLE (VK Cup 2012 Round 1)
- 第10组 Alpha冲刺(3/4)
- Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
- An internal error occurred during: ";Synchronizing";
- mlocate比find快很多的查找命令
- SVN提示is already locked 解决办法
- Shared variable in python&#39;s multiprocessing
- SQLServer查看及设置最大连接数(转)