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删除文件示例分享
Jan 28 Python
python显示天气预报
Mar 02 Python
Python获取远程文件大小的函数代码分享
May 13 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
Feb 24 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
Python基础教程之异常详解
Jan 10 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
C++和python实现阿姆斯特朗数字查找实例代码
Dec 07 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
php include加载文件两种方式效率比较
2010/08/08 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python求素数示例分享
2014/02/16 Python
Python中格式化format()方法详解
2017/04/01 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
医学护理系毕业生求职信
2013/10/01 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
2014春晚主持词
2014/03/25 职场文书
保护环境建议书400字
2014/05/13 职场文书
六查六看心得体会
2014/10/14 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书