从字典中查找键

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

Python 字典是一种数据结构,可以使编写高效的代码变得简单。由于我们可以对它的键进行哈希处理,因此在许多其他语言中,字典数据结构是一种哈希表。哈希表是一种使用关联编码来存储数据的数据结构。字典的每个项都以数组格式存储在哈希表中,并带有不同的索引值。如果我们知道了所需数据的索引,访问它就会变得非常快。

在 Python 字典中,键及其对应项以成对的方式排列。我们可以将它们与普通字典中的单词及其解释进行比较。解释器将键和值相互映射。例如,在实际字典中,“数据科学”这个键与使用计算机工具从大量数据中寻找模式的科学的描述相关联。

我们可以使用 Python 的 dict_name[key_name] 语法通过键来检索字典中包含的值。但是,即使我们拥有值,也没有直接的方法来检索与之匹配的键。在这篇文章中,我们将探讨通过键的值来获取键的策略。

方法

让我们通过键-值检索方法来检查 Python 字典。

通过搜索字典项,使用其值识别键

这是用值交换键的最简单方法。我们将使用此方法检查每个键值组合,以识别与当前值对应的键。我们将为此操作使用 Python 字典的 items() 函数。使用 items() 方法,我们可以获得一个包含字典中键值对的元组列表。我们将按如下方式搜索每个元组来查找与我们的值关联的键。

代码

输出

Our dictionary is: {'Name': 'Javatpoint', 'Language': 'Python', 'Data Structure': 'Dictionary'}
Value whose key is to be retrieved:
Python
The key of Python in the dictionary is:  Language

使用 Python 列表,从值中获取键

我们可以创建一个单独的 Python 列表来存储键和值,然后使用 index() 函数从给定值中获取键。对于此任务,我们将首先使用 keys() 函数生成一个包含给定字典中键的 Python 列表,然后使用 values() 函数创建一个包含字典中值的 Python 列表。

使用 index() 函数,我们将从值列表中检索给定值的索引。由于我们知道 Python 键列表中键的顺序对应于 Python 值列表中添加的顺序,因此字典的值在 Python 值列表中的索引将与 Python 键列表中相关键的索引匹配。

因此,在 Python 值列表中找到值的索引后,就可以在确切位置找到键在键列表中的索引。接下来是如何实现这一点。

代码

输出

Our dictionary is: {'Name': 'Javatpoint', 'Language': 'Python', 'Data Structure': 'Dictionary'}
Value whose key is to be retrieved:
Python
The key of Python in the dictionary is:  Language

使用列表推导式从值中确定键

我们可以使用列表推导式来获取与给定值关联的键,而不是使用 index() 方法。我们将使用列表推导式生成一个键列表,这些键的值与给定值相同,以找到键。

代码

输出

Our dictionary is: {'Name': 'Javatpoint', 'Language': 'Python', 'Data Structure': 'Dictionary'}
Value whose key is to be retrieved:
Python
The key of Python in the dictionary is: ['Language']