python字典的setdefault方法和get方法

枫铃3年前 (2021-09-30)Python214

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

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

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

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

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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 循环中的陷阱

Python 中的 fo...

Python教程:作用域与嵌套函数

一、全局变量与局部变量...

提高Python程序运行效率三种模式第一种:多进程multiprocessing模块

python是一个解释性语言,所以它不需要进行编译就可以直接使用: 编译型语言在程序执行之前,先会通过编译器对程...

django 获取外键对应数据的方式

模型 models.py中 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:5798...

Python中的itertools.product

例子1:import itertools a = itertools.product([1,2,3],[100,200]) print(a) for...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。