python字典的setdefault的巧妙用法

  

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

        staff_dic={" name”:“灭霸”,“年龄”:10000年,“爱好”:["打响指”、“扣脚”]}      

假设我们要给员工添加爱好信息,但是我们不知道爱好这个键存不存在,我们通常的做法是分为三步:

  

1)从字典中取到的爱好对应的值,如果没有爱好这个键,则设置这个值为空列表

  

2)对这个值进行更新操作

  

3)将更新后的值赋值回字典

        爱好=staff_dic.get(“爱好”,[])   hobbies.append(“毁灭宇宙”)   staff_dic["爱好"]=爱好      

以上方法进行了两次查询操作

  

如果使用setdefault,只需要查询一次

        staff_dic。setdefault(“爱好”,[]).append(“毁灭宇宙”)      

注意:setdefault()有返回值,返回值为取到的值(键存在)或默认值(键不存在)

python字典的setdefault的巧妙用法