python字典setdefault方法和get方法使用实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了python字典setdefault方法和get方法使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在python的字典对象中,可以直接使用键名获取键值,像这样:

>>> d = {"x":1,"y":2}
>>> d["x"]
>>> d["y"]
>>>

但如果键名不存在,则会报错:

>>> d["z"]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'z'
>>>

这就影响了代码的可执行性。不过可以使用get方法或者setdefault方法避免这种错误,两种方法的作用都是获取键的键值,如果键存在于字典中,则返回键值;如果字典中不存在这个键,则返回一个默认值(这个值默认是None,但可以自行设定),如下:

d = {"x":1, "y":2}
print(d.get("z"))
print(d.get("z",9))

输入结果如下:

None
9

可以看到,“z“这个键并不存在字典中,使用get方法获取时,就返回了None,第二次使用get方法时,设置了返回的默认值 9 。setdefault方法也是一样的。

d = {"x":1, "y":2}
print(d.setdefault("z"))
print(d.setdefault("z",9))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

5分钟 Pipenv 上手指南

现在就花5分钟,掌握这个工具的使用吧。 pipenv是requests作者的一个项目, 整合了virtualenv, pip, pipfile, 用于更方便地为项目建立虚拟环境并管理虚...

对于Python异常处理慎用“except:pass”建议

翻译自StackOverflow中一个关于Python异常处理的问答。 问题:为什么“except:pass”是一个不好的编程习惯? 我时常在StackOverflow上看到有人评论关于...

Python 中字符串拼接的多种方法

python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello Worl...

Python列表切片常用操作实例解析

Python列表切片常用操作实例解析

这篇文章主要介绍了Python列表切片常用操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近在爬一个网站的文档的时候,...

python对excel文档去重及求和的实例

废话不多说,估计只有我这个菜鸟废了2个小时才搞出来,主要是我想了太多方法来实现,最后都因为这因为那的原因失败了 间接说明自己对可变与不可变类型的了解,还是不够透彻 最后就用了个笨方法解决...