python字典的setdefault的巧妙用法


Posted in Python onAugust 07, 2019

现在有一个员工字典,类似这样的结构

staff_dic = {"name":"灭霸", "age": 10000, "hobbies":["打响指", "扣脚"]}

假设我们要给员工添加爱好信息,但是我们不知道hobby这个键存不存在,我们通常的做法是分为三步:

1)从字典中取到hobbies对应的值,如果没有hobbies这个键,则设置这个值为空列表

2)对这个值进行更新操作

3)将更新后的值赋值回字典

hobbies= staff_dic.get("hobby",[])
hobbies.append("毁灭宇宙")
staff_dic["hobbies"] = hobbies

以上方法进行了两次查询操作

如果使用setdefault,只需要查询一次

staff_dic.setdefault("hobbies", []).append("毁灭宇宙")

注意:setdefault()有返回值,返回值为取到的值(键存在)或默认值(键不存在)

Python 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
Python fileinput模块使用介绍
Nov 30 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
python 实现tar文件压缩解压的实例详解
Aug 20 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
为什么说Python可以实现所有的算法
Oct 04 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 Python
解决Django中调用keras的模型出现的问题
Aug 07 #Python
python 字典 setdefault()和get()方法比较详解
Aug 07 #Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 #Python
如何用Python来搭建一个简单的推荐系统
Aug 07 #Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 #Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 #Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 #Python
You might like
PHP Document 代码注释规范
2009/04/13 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
怎样写好创业计划书的内容
2014/02/06 职场文书
公务员政审个人总结
2015/02/12 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
红白喜事主持词
2015/07/06 职场文书
诚信教育主题班会
2015/08/13 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript
Spring中的@Transactional的工作原理
2022/06/05 Java/Android