Python 中的 get() 方法

2024 年 8 月 29 日 | 4 分钟阅读

Python 的 get() 函数 可用于访问字典的对象,即键及其对应的值。

您可以使用以下语法的 get() 方法

dictionary.get(key, default)

参数可描述如下

  • "key": "key" 参数是指字典中您想访问其对应值的键。
  • "default": default 参数 是一个可选参数,表示如果找不到键时返回什么。如果字典中找不到该键且未提供 "default" 参数,则函数将向控制台返回 None

get() 方法 会搜索整个字典以查找提供的键,如果存在,则返回其在字典中的关联值。如果找不到键,则返回默认值(如果没有指定默认值,则返回 None)。

示例代码片段

输出

3
None
0

说明

在上面的示例中,我们有一个名为 "cars" 的字典,其中包含各种汽车的数量。使用 get(),我们为键 "ferrari"、"mercedes""alpine" 检索默认值 0。如果在使用 get() 方法 时,相应的键存在于字典中,则会将其对应的键值返回到控制台。如果不存在,则将作为函数调用参数传递的默认值返回到控制台。

如果字典中找不到该键,您可以使用 get() 函数 来避免 "KeyError"。这是一种安全地从字典中获取值的技术,尤其是在键未知时。

  • 处理默认值:如果字典中找不到该键,您可以使用 get() 函数 指定要返回的默认值。此步骤是必需的,因为有时字典中可能不存在该键。

输出

Unknown_Area
  • 索引的高效替代方案:与方括号索引 ([]) 相比,get() 函数 是从字典中获取值的更有效的方法。使用索引时,如果找不到键,则会引发 "KeyError" 异常。另一方面,Get() 允许您优雅地处理丢失的键,而不会引发异常。
  • 处理可变默认值:作为 get() 的第二个参数,您可以指定一个可变的默认值。但是,建议谨慎操作,因为对于所有丢失的键,都将使用相同的可变对象作为默认值。如果您更改了可变默认值,那么在键丢失时后续的检索将受到影响。下面是一个说明

输出

[1]
[2]
[]

说明

在此示例中,默认值 [] 是一个可变的列表。当我们检索键 'list' 的值时,会将其附加到列表中。稍后,当我们检索键 'count' 的值时,会将 2 添加到同一个列表中。因此,再次检索键 'count' 的值时,它会包含 21,因为这是之前修改过的同一个列表。

  • 安全处理 None 值:当处理可能包含 None 作为某些条目的可接受值的字典时,get() 方法 非常有用。在使用方括号索引 ([]) 时将 None 指定为默认值可能会令人困惑。get() 方法 能够区分键值是 None 的情况和键不存在的情况。

输出

ERROR!
None
None
None
Traceback (most recent call last):
 File "", line 12, in 
KeyError: 'key3'

说明

在此示例中,使用方括号索引,将 None 指定为默认值 (result1 = data['key1']) 将返回实际值 None。当尝试访问不存在的键 (result2 = data['key3']) 时,会引发 KeyError。另一方面,使用 get() 方法将 None 指定为默认值,将返回实际值 None (result3 = data.get('key1', None))。同样,当尝试检索 不存在的键 (result4 = data.get('key3', None)) 时,将返回默认值 None

  • 默认值的 'if' 语句替代方案:通常,if 语句用于检查提供的键是否存在。get() 方法可用于避免这种情况。在使用 get() 函数 时,它会搜索键;如果找到,则 返回 其对应的值。否则,将返回在函数调用期间提供的默认值。在大多数情况下,默认值设置为 0

输出

Unknown
Unknown

说明

在此示例中,我们可以清楚地观察到,使用 get() 方法,**无需** 使用 **条件语句** 来检查键 "city" 的存在。