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程序中操作文件之isatty()方法的使用教程

 如果文件已连接(与终端设备相关联)到一个tty(状)的设备,isatty()方法返回True,否则返回False。 语法 以下是isatty()方法的语法: fileOb...

python 打印出所有的对象/模块的属性(实例代码)

实例如下: import sys def print_all(module_): modulelist = dir(module_) length = len(module...

Python中用于去除空格的三个函数的使用小结

函数:strip()  lstrip()  rstrip() 作用:去除字符串中的空格或指定字符 一、默认用法:去除空格 str.strip()  : 去除...

python实现超简单端口转发的方法

本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。 复制代码 代码如下:#t...

Python Flask-web表单使用详解

Python Flask-web表单使用详解

Flask-WTF扩展可以把处理web表单的过程变成一种愉悦的体验。 一、跨站请求伪造保护 默认情况下,Flask-WTF能够保护所有表单免受跨站请求伪造的攻击。恶意网站把请求发送到...