Python get() 语法
get() 是 Python 字典的一个方法,它用于安全地获取字典中某个键对应的值,避免键不存在时引发异常。
语法:
dict.get(key, default=None)说明:
get() 方法接收以下 2 个参数。
key(必选):表示你要搜索的键。default(可选,默认值:None):键不存在时返回的默认值。
提示: 在需要为缺失键提供特定默认值时,get() 方法比使用 try except 语句或 if key in dict: 检查更加简洁。
Python get() 摘要
| 使用频率 | 高 |
|---|---|
| 修改原字典 | 否 |
| 官方文档 | 查看 |
| 相关方法 | setdefault() |
Python get() 示例
接下来,我们通过几个简单的例子来讲解 Python get() 方法是如何使用的。
示例 1:get() 基本用法(带 1 个参数)
students = {'Jack': 1001, 'Lucy': 1002, 'Tony': 1003}
result = students.get('Lucy')
print(result)运行结果如下。
1002分析:
当键存在时,get() 方法返回对应的值。在上面例子中,由于键 'Lucy' 存在,因此返回其值 1002。
示例 2:get() 指定默认值(带 2 个参数)
students = {'Jack': 1001, 'Lucy': 1002, 'Tony': 1003}
result = students.get('Lily', 6666)
print(result)运行结果如下。
6666dict.get(key) 和 dict[key]
想要获取字典某个键的值,有两种方式:① dict.get(key);② dict[key]。它们之间是有一定区别的。
- 如果键不存在,dict[key] 会报错,引发 KeyError 异常。
- 如果键不存在,dict.get(key) 会返回 None。
| dict.get(key) | dict[key] | |
|---|---|---|
| 键存在时 | 返回对应值 | 返回对应值 |
| 键不存在 | 返回 None(或指定默认值) | 引发 KeyError 异常 |
| 适用场景 | 不确定键是否存在时 | 确定键存在且需快速访问时 |
示例 3:dict.get(key)
students = {'Jack': 1001, 'Lucy': 1002, 'Tony': 1003}
result = students.get('Lily')
print(result)运行结果如下。
None示例 4:dict[key]
students = {'Jack': 1001, 'Lucy': 1002, 'Tony': 1003}
result = students['Lily']
print(result)运行结果如下。
(报错)KeyError: 'Lily'分析:
大多数情况下,我们使用的都是 dict[key] 这种方式,主要是它比较方便。如果你不确定键是否存在,为了避免报错,则应该选择 dict.get(key) 方式。
Python get() 应用场景
接下来,我们来看一个 get() 方法的应用场景:链式调用来访问嵌套字典。
示例 5:get() 链式调用
data = {
'user': {
'name': 'Alice',
'age': 25
}
}
age = data.get('user', {}).get('age')
print(age)
# 若外层键不存在,避免嵌套报错
address = data.get('profile', {}).get('address')
print(address)运行结果如下。
25
None分析:
通过链式调用 get() 可以安全访问嵌套字典。如果外层键(如 'profile')不存在,内层 get() 仍能正常执行,此时返回 None。
