Python 中使用 get() 方法从字典中按键获取值

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

在本教程中,我们将学习如何使用 Python 中的 get() 方法从字典中获取值。

如何创建字典

Python 中用于存储信息的强大信息结构是字典,它可以重现实际数据模型,其中某些特定值对应于某些特定键。

Python 字典用于以键-值对的形式存储数据。它是一个临时数据结构。键和值这两个元素用于创建字典。键只能包含一个元素。值可以是任何类型,如列表、元组、整数等。

也就是说,我们可以说字典是键值对的集合,其中值可以是任何 Python 对象。相反,键是不可变的 Python 对象,即数字、字符串或元组。从 Python 3.7 版本开始,字典项是有序的。在 Python 3.6 及更早版本中,字典通常是无序的。

示例

输出

<class 'dict'>
printing the slave's data... 
{'Name': 'Sai', 'Age': 20, 'salary': 30000, 'Company': 'Microsoft'}

字典 get() 方法

Python 中的 get() 方法用于从字典中获取键的值。如果字典中不存在该键,它将简单地返回 None。但是,我们也可以为 Python 中的 get() 方法传递一个默认值(可选)。如果我们的字典中不存在该键,则会返回此可选的默认值。

语法

因此,在 Python 的 get() 方法中,我们写下我们的字典名称,后跟一个点(.)运算符和 get() 方法。get() 方法接受两个参数——键和值。

参数

如上面的语法所示,Python 中的 get() 方法接受一个键和一个可选值。

  • 键 (key): 键是传递给 Python 中 get() 方法的强制参数。它基本上是我们正在从字典中查找相应值的键的名称。键可能不存在于字典中。在这种情况下,我们的 Python get() 方法将简单地返回 None。
  • 值 (value): 值是传递给 Python 中 get() 方法的可选参数。有时,我们可能没有在字典中指定或引用的键。在这些情况下,我们还可以选择传递一个值,如果字典中不存在这样的键,则返回该值。最后,作为 get() 方法第二个参数传递的默认值将从我们的 get() 方法返回。

Python 中 get() 的返回值

关于 Python 中 get() 方法的返回值有三种情况。让我们一一分析:

  • 键已存在于字典中:如果传递给 get() 方法的键已存在于字典中,那么 get() 方法将简单地返回该键的相应值。
  • 字典中不存在该键:如果传递给 get() 方法的键不存在于字典中,那么 get() 方法将返回 None。这为 () 方法带来了许多优点,因为即使我们尝试访问不存在的键,也不会抛出错误。我们也不需要额外地在字典中进行任何检查。
  • 我们传递了一个 get() 的可选值:假设,在获取任何字典值时,我们也为 get() 方法传递了一个可选的“值”。在这种情况下,如果键不存在,则返回该特定的可选值。简而言之,如果我们的字典中没有该特定键,那么 get() 方法将返回在参数中传递给它的可选值,而不是返回 None。

示例

在此示例中,我们将尝试获取字典中不存在的物品的值。为此,我们将使用之前的模型(上面已分析),其中我们有一个物品(作为键)和它们的价格(作为值)的字典。

输出

The price of the School bag is = None

说明

在我们上面的模型中,我们正在尝试获取“笔”这个物品的价格。但是,正如您所见,我们的字典 items_list 中没有名为“pen”的物品。由于字典中不存在该键,正如我们上面所学到的,Python 的 get() 方法将只返回 None,而不是引发错误。

示例 2

在上面的模型中,我们没有将默认值传递给我们的 Python get() 方法。这就是我们得到 None 作为结果的原因。现在,在这个模型中,我们将把默认值传递给我们的 get() 方法。

输出

The price of the school bag is = 149.99Rs

说明

正如您可以通过上面的模型看到的那样,我们再次尝试获取我们字典中不存在的物品“笔”的值。但是,此模型有一个例外,或者至少,我们在 get() 方法中也已将该物品的默认价格作为第二个参数传递。

因此,在获取物品的值之后,我们得到的是我们传递给 get() 的默认值作为结果,而不是 None。与普通索引相比,这也是使用 Python 中 get() 方法的一个显著优势。