Python字典方法setdefault的使用场景比较特殊,在这个特殊场景下,setdefault方法具有更高的效率。
假设这样一个场景:有一个字典score,它存储的是学生分数的列表,key是学生名称,value是分数列表,现在要往这个列表中添加新的分数。
要添加分数的学生名称是zhaoliu,现在不确定在当前字典中是否存在该学生。
通常情况下会这样操作:
score = dict([('zhangsan', [88,67]), ('lisi', [78,90]), ('wangwu', [58,94])])if 'zhaoliu' not in score: score['zhaoliu'] = []score['zhaoliu'].append(97)print(score)
如果使用setdefault方法则可以一步到位。
setdefault方法第一个参数是字典key,如果key不存在,将用第二个参数值作为value值存入字典中。
同时setdefault方法会返回key的value对象,然后进行链式操作。
使用setdefault方法比上面的方法减少 字典get方法的调用次数。
score = dict([('zhangsan', [88,67]), ('lisi', [78,90]), ('wangwu', [58,94])])score.setdefault('zhaoliu',[]).append(97)print(score)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。