Python3:字典(dict)读取不存在的键

时间:2025-05-11 08:43:37

直接使用d[k]读取不存在的键会报错

>>> person = {'name' : 'xiaoming'}
>>> person['age']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

可以使用字典的的内置方法get进行读取,如果键不存在会返回None,也可以指定一个当键不存在时的默认值返回值,这个方法不会改变字典本身

>>> person = {'name' : 'xiaoming'}
>>> print(('age'))
None
>>> ('sex', 'male')
'male'
>>> print(person)
{'name': 'xiaoming'}
>>>

也可以使用字典的内置方法setdefault,当使用这个方法读取字典中键时,如果键存在,则返回对应的值;如果键不存在会返回一个指定的值(默认为None),并改变字典添加这个键值

>>> person = {'name' : 'xiaoming'}
>>> ('age', 20) #设置默认值为20
20
>>> ('sex') #没有设置默认值,默认值为None
>>> print(person)
{'name': 'xiaoming', 'age': 20, 'sex': None}