python字典的setdefault的巧妙用法

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

相关文章

Python中防止sql注入的方法详解

前言 大家应该都知道现在web漏洞之首莫过于sql了,不管使用哪种语言进行web后端开发,只要使用了关系型数据库,可能都会遇到sql注入攻击问题。那么在Python web开发的过程中s...

python2.7读取文件夹下所有文件名称及内容的方法

最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础。废话不多说,记录一下自己的所得。 首先,安装什么的不在本人的温习范围,另,本人使用的是windows下的python...

Pytorch 数据加载与数据预处理方式

Pytorch 数据加载与数据预处理方式

数据加载分为加载torchvision.datasets中的数据集以及加载自己使用的数据集两种情况。 torchvision.datasets中的数据集 torchvision.data...

Python中的引用知识点总结

Python中的引用知识点总结

本篇介绍Python中的引用。 首先想一想如图示例。 在python中,值是靠引用来传递来的。 用id()来判断两个变量是否为同一个值的引用。如图。 图解引用。如图。 可变类型...

解决pycharm 安装numpy失败的问题

解决pycharm 安装numpy失败的问题

pycharm安装numpy失败,问题是 解决办法: 配置系统变量 path 新加 然后在cmd 命令行里添加 之后pycharm里面就有了 numpy 以上这篇解决pychar...