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 ZipFile模块详解
Nov 01 Python
Python基于smtplib实现异步发送邮件服务
May 28 Python
python中join()方法介绍
Oct 11 Python
python得到单词模式的示例
Oct 15 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
实例讲解Python3中abs()函数
Feb 19 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
如何在mac下配置python虚拟环境
Jul 06 Python
Python实现爬取网页中动态加载的数据
Aug 17 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
jQuery阻止同类型事件小结
2013/04/19 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
python聊天程序实例代码分享
2013/11/18 Python
python列表去重的二种方法
2014/02/14 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
全球虚拟主机商:HostGator
2017/02/06 全球购物
2014年幼儿园植树节活动方案
2014/03/02 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
给医院的感谢信
2015/01/21 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang