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中字典的setdefault()方法教程
Feb 07 Python
深入理解Django自定义信号(signals)
Oct 15 Python
python通过ffmgep从视频中抽帧的方法
Dec 05 Python
python生成带有表格的图片实例
Feb 03 Python
python协程之动态添加任务的方法
Feb 19 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
django的model操作汇整详解
Jul 26 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
python实现图像外边界跟踪操作
Jul 13 Python
Python基于unittest实现测试用例执行
Nov 25 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 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制作图型计数器的例子
2006/10/09 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
常用PHP框架功能对照表
2014/10/23 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
python中with语句结合上下文管理器操作详解
2019/12/19 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
班级德育工作实施方案
2014/02/21 职场文书
服装促销活动方案
2014/02/23 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
齐云山导游词
2015/02/06 职场文书
运动会开幕式致辞
2015/07/29 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL