python字典中dict.get()和dict.setdefault()的异同点
2024-08-26 15:04:35
相同点:
- 两者是参数相同:dict.get(key, default=None), dict.setdefault(key, default=None)
- 如果指定的键不存在时,两者都返回默认值,默认是None
- 如果指定的键存在时,即使设置默认值,返回的还是指定键的值
不同点:
- 当指定的键不存在时,dict.setdefault()方法可以通过增加键值对来更新字典,而dict.get()方法不行
实例:
dict.get(key, default=None)
>>>dict_1 = {'Name': 'Jack'} >>>dict_1.get('Age') #默认default为None,即不返回值 >>>dict_1.get('Age', 'NA') #当指定的键不存在时,返回default的值'NA' 'NA' >>>dict_1.get('Name': 'Tom') #当指定的键存在时,即使设置default的值,返回的也是指定键的值'Jack' 'Jack' >>>dict_1 {'Name': 'Jack'} #dict_1中的键值对没有改变
dict.setdefault(key, default=None)
>>>dict_1 = {'Name': 'Jack'} >>>dict_1.setdefault('Age') #默认default为None,即不返回值 >>>dict_1 #dict_1中已经增加'Age':None的键值对 {'Name': 'Jack', 'Age': None} >>>dict_1.setdefault('Age', 23) #当指定的键存在时,即使设置default的值,返回的也是指定键的值None,即不返回值 >>>dict_1 {'Name': 'Jack', 'Age': None}
最新文章
- python程序生成平均脸
- [转]ASP.NET Core 之 Identity 入门(一)
- Android Studio in OSX 提高工作效率的快捷键
- 对js中Function的浅见
- 谈谈Javascript的this关键字(this is not this)
- JS实现移动端图片延迟加载
- maven加载spring包
- Dyslexic Gollum
- SQL随机数的生成
- 【转】shell 教程——02 几种常见的Shell
- UITableViewCell性能优化
- UIAlerView、UIActionSheet 和UIAlertViewController(点击注销确认按钮实现)
- el表达式跟ognl表达式的区别
- url_for()中的坑,url_for操作对象是函数,而不是route里的路径
- spring使用中问题汇总
- Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
- VS报错 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
- 零基础学Python--------第10章 文件及目录操作
- powershell-将powershell脚本排到JOB
- JavaEE学习之Spring Security3.x——模拟数据库实现用户,权限,资源的管理
热门文章
- Asp.Net MVC anti-forgery token的问题:nameidentifier or identityprovider not present
- Linux用户相关文件之用户信息文件
- selenium 下载文件设置下载路径
- github的代码上传成功但是不显示绿格子(一直拖....心痛的教训.....)
- ABAP权限检查,TCode与权限对象进行关联
- Vue-router2.0学习笔记(转)
- spring cloud 使用feign 遇到问题
- PyQt4打包exe文件
- django-admin 修改admin自带模版
- c# 执行批处理文件