python字典的setdefault的巧妙用法

yipeiwu_com6年前Python基础

现在有一个员工字典,类似这样的结构

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()有返回值,返回值为取到的值(键存在)或默认值(键不存在)

相关文章

Django使用 Bootstrap 样式修改书籍列表过程解析

Django使用 Bootstrap 样式修改书籍列表过程解析

展示书籍列表: 首先修改原先的 book_list.html 的代码: <!DOCTYPE html> <!-- saved from url=(0042)htt...

Python使用requests提交HTTP表单的方法

Python的requests库, 其口号是HTTP for humans,堪称最好用的HTTP库。 使用requests库,可以使用数行代码实现自动化的http操作。以http pos...

python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】

本文实例讲述了python 实现的发送邮件模板。分享给大家供大家参考,具体如下: ##发送普通txt文件(与发送html邮件不同的是邮件内容设置里的type设置为text,下面代码为...

Python中将字典转换为列表的方法

Python中将字典转换为列表的方法

说明:列表不可以转换为字典 ①转换后的列表为无序列表 a = {'a' : 1, 'b': 2, 'c' : 3} #字典中的key转换为列表 key_value = list(a...

Django小白教程之Django用户注册与登录

Django小白教程之Django用户注册与登录

 Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 学习django学得超级吃力,最近弄个最简单的用户登录与注册界面都是那么...