Python 字典 get() 方法

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)

运行结果如下。

6666

dict.get(key) 和 dict[key]

想要获取字典某个键的值,有两种方式:① dict.get(key);② dict[key]。它们之间是有一定区别的。

  • 如果键不存在,dict[key] 会报错,引发 KeyError 异常。
  • 如果键不存在,dict.get(key) 会返回 None。
dict.get(key) vs dict[key]
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。

上一篇: Python 字典方法

下一篇: update()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号