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开发实现简单的记事本
Nov 15 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
django js实现部分页面刷新的示例代码
May 28 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
Python+OpenCv制作证件图片生成器的操作方法
Aug 21 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
python实现超级玛丽游戏
Mar 18 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 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验证码(支持中文)
2007/02/14 PHP
如何在php中正确的使用json
2013/08/06 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
php中yii框架实例用法
2020/12/22 PHP
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
json数据格式常见操作示例
2019/06/13 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
学习python的几条建议分享
2013/02/10 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
Python解决八皇后问题示例
2018/04/22 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
超简单使用Python换脸实例
2019/03/27 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
vscode调试django项目的方法
2020/08/06 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
法学求职信
2014/06/22 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
python批量更改目录名/文件名的方法
2021/04/18 Python
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
Python数据结构之队列详解
2022/03/21 Python