python

超轻量级php框架startmvc

python字典的setdefault的巧妙用法

更新时间:2020-07-21 19:42:01 作者:startmvc
现在有一个员工字典,类似这样的结构staff_dic={"name":"灭霸","age":10000,"hobbies":["打响指","扣脚

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


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 字典 setdefault 用法