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文件操作之合并文本文件内容示例代码
Sep 19 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 Python
Python之列表的插入&替换修改方法
Jun 28 Python
Python global全局变量函数详解
Sep 18 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 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
file_get_contents("php://input", "r")实例介绍
2013/07/01 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
Python输出9*9乘法表的方法
2015/05/25 Python
Python中的取模运算方法
2018/11/10 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
造型师求职自荐信
2013/09/27 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
职业女性的职业规划
2014/03/04 职场文书
党员公开承诺书范文
2014/03/25 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
淘宝店策划方案
2014/06/07 职场文书
迁户口计划生育证明
2014/10/19 职场文书
退伍军人感言
2015/08/01 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers