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 相关文章推荐
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
Python通过解析网页实现看报程序的方法
Aug 04 Python
Python MySQLdb模块连接操作mysql数据库实例
Apr 08 Python
多版本Python共存的配置方法
May 22 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
python3实现高效的端口扫描
Aug 31 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
python zip,lambda,map函数代码实例
Apr 04 Python
python 使用csv模块读写csv格式文件的示例
Dec 02 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 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 生成随机验证码图片代码
2010/02/08 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
php微信开发之百度天气预报
2016/11/18 PHP
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
js中日期的加减法
2015/05/06 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
linux下安装easy_install的方法
2013/02/10 Python
Python实现购物车功能的方法分析
2017/11/10 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
建筑工程专业学生的自我评价
2013/12/25 职场文书
美术指导助理求职信
2014/04/20 职场文书
岗位职责说明书
2014/05/07 职场文书
护士个人年度总结范文
2015/02/13 职场文书
行政处罚事先告知书
2015/07/01 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python