在 python 中,get() 方法是用于从字典中获取指定键的值。
首先介绍一下基本用法:🌉
value = dictionary.get(key, default)
📢 其中,
dictionary
是要进行查找的字典,key
是要获取值的键,default
是可选参数,表示如果键不存在时返回的默认值。
get() 方法的使用有以下几个特点和注意事项:💡
- 如果键存在于字典中,get() 方法会返回对应的值。
- 如果键不存在于字典中,并且没有提供默认值,则返回
None
。 - 如果键不存在于字典中,并且提供了默认值,则返回默认值。
- 使用 get() 方法不会引发
KeyError
异常,所以在不确定键是否存在的情况下,可以放心地用,它不会引起程序中断。 - get() 方法只是获取值,不会修改原始字典。
以下是一些示例用法和解释:📚
# 示例字典
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 获取存在的键的值
name = person.get('name') # 'Alice'
age = person.get('age') # 25
# 获取不存在的键的值,使用默认值
country = person.get('country', 'Unknown') # 'Unknown'
# 获取不存在的键的值,默认值为 None
gender = person.get('gender') # None
# 不提供默认值时,默认为 None
occupation = person.get('occupation') # None
# 注意:默认值只在键不存在时才会生效,不会覆盖原始值
person['name'] = 'Bob'
name = person.get('name', 'Unknown') # 'Bob'
# 注意:键存在但值为 None 时,也会返回 None,不会使用默认值
person['gender'] = None
gender = person.get('gender', 'Unknown') # None
# 注意:传递可变对象作为默认值时要小心,避免共享同一个对象
d = {}
default_list = d.get('key', []) # 此时 default_list 和 d['key'] 引用同一个列表对象
# 正确的做法是使用 None 作为默认值,然后在函数内部创建新的列表
default_list = d.get('key', None)
if default_list is None:
default_list = []
最后,我们来结个尾 🎩:
get() 方法是字典操作中一个方便且安全的方法,可以避免
KeyError
异常,并提供默认值来处理键不存在的情况。我们主要需要注意的是,默认值的使用和对可变对象的处理,以避免出现意外的结果。