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安装路径以及安装包路径小技巧
Apr 28 Python
Python获取系统默认字符编码的方法
Jun 04 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
Python中的引用知识点总结
May 20 Python
Python编写打字训练小程序
Sep 26 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
Python实现CNN的多通道输入实例
Jan 17 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 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二分查找二种实现示例
2014/03/12 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
详解vue-cli3使用
2018/08/14 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
python远程登录代码
2008/04/29 Python
初步理解Python进程的信号通讯
2015/04/09 Python
python实现redis三种cas事务操作
2017/12/19 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
携程英文网站:Trip.com
2017/02/07 全球购物
Linux操作面试题
2015/02/11 面试题
酒店人事专员岗位职责
2013/12/19 职场文书
产品包装策划方案
2014/05/18 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
劳模先进事迹材料
2014/12/24 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android