如何在 Python 中检查一个值是否在字典中
本教程演示了如何检查一个值是否存在于 Python 字典中。在这里,我们将涉及相关的主题,例如搜索一个键给出的值,搜索一个特定的值,以及搜索一个对象或集合的值。
首先,如果值存在于字典中,我们需要打印 True
;否则打印 False
。
使用 get()
和键检查值是否存在于字典中
Python 中的字典有一个内置函数 key()
,它返回给定键的值。同时,如果它不存在,它将返回 None
。你可以使用这个函数作为条件来确定一个值是否存在于一个字典中。
让我们先声明一个简单的字典,里面有 int
键和字符串值。
simpDict = {1: "Ant", 2: "Bear", 3: "Cat", 4: "Dog", 5: "Elephant"}
如果你想用它的键对来寻找值,那么 key()
函数就是最好的方法。例如,你想搜索任何以 6 为键的值;按照下面的代码。
if simpDict.key(6) != None:
print("True")
else:
print("False")
由于 simpDict
函数没有键 6,所以这段代码将输出 False
。
使用 values()
检查指定的值是否存在于字典中
与寻找一个特定值的情况不同,在一个字典中寻找一个键是非常直接的;你只需要使用关键字 in
和你要在字典中寻找的键。
print(3 in simpDict)
这样会输出 True
,因为键 3 存在。如果我们用一个不存在的键替换这个数字,那么它将输出 False
。
另一方面,如果你想在字典中寻找一个特定的值,你可以使用函数 values()
。values()
命令将返回一个字典中所有值的列表。使用 values()
,你可以利用 in
关键字对字典和指定的值进行查询。假设你想知道值 Elephant
是否在字典中,执行下面的代码。
print("Elephant" in simpDict.values())
这行将输出 True
,因为在 simpDict
键 5 中存在 Elephant
这个词。
在 Python 2.X 中,还有两个类似于 values()
的函数,它们是 itervalues()
和 viewvalues()
;这些函数在 Python 3.X 版本中已经被弃用。
itervalues()
和 viewvalues()
命令将与 values()
命令完成同样的任务;然而,不同的实现虽然非常微不足道,但却大大影响了运行时间。
print("Elephant" in simpDict.itervalues())
print("Elephant" in simpDict.viewvalues())
两者都会返回与 values()
函数相同的输出。需要注意的是,冗余可能是这些函数从新的 Python 版本中被弃用的主要原因。
现在,如果字典中的值是像列表或对象这样的数据结构呢?让我们来看看。
如果值是一个列表,检查值是否存在于一个字典中
listDict = {1: ["a", "b"], 2: ["b", "c"], 3: ["c", "d"], 4: ["d", "e"]}
现在,我们有一个带有 int
键的字典和一个作为值的字符列表。
假设我们想搜索列表 ['c', 'd']
是否存在于字典中。
print(["c", "d"] in listDict.values())
结果输出将是 True
;这证实了通过迭代字典来比较集合也是可行的。
但是,如果你想检查列表值中的一个值是否存在于字典中呢?要解决这个问题,只需在值上循环,并在列表上使用 in
关键字,而不是在字典上。
例如,你想检查字符'e'
是否存在于这个列表中的值中。下面是要执行的代码。
tof = False
for value in listDict.values():
if "e" in value:
tof = True
break
print(tof)
输出将打印出 True
,因为'e'
存在于字典中。
总之,使用函数 values()
来遍历这些值,并比较你要找的值是否存在于值列表中。当你想检查一个指定的值是否存在于一个字典中时,这就会有帮助。
相关文章
在 Python 中将 NumPy 数组转换为列表
发布时间:2023/12/24 浏览次数:102 分类:Python
-
本教程演示了如何将 numpy 数组转换为 Python 中的列表。列表和数组是 Python 中两个最基本且最常用的集合对象。
Python 中追加二维数组
发布时间:2023/12/24 浏览次数:158 分类:Python
-
本教程讨论如何在 Python 中将值附加到二维数组。在 Python 中,我们可以有 ND 数组。我们可以使用 NumPy 模块在 Python 中处理数组。
在 Python 中将数组写入文本文件
发布时间:2023/12/24 浏览次数:68 分类:Python
-
本教程演示如何在 python 中将数组保存到文本文件中。读取和写入文件是构建许多用户使用的程序的一个重要方面。Python 提供了一系列可用于资源处理的方法。
Python 导出到 Excel
发布时间:2023/12/24 浏览次数:129 分类:Python
-
有四种主要方法可用于在 Python 中将数据写入 Excel 文件,DataFrame.to_excel() 方法、xlwt 库、openpyxl 库和 XlsWriter 库。
使用 Selenium Python 在浏览器中打开和关闭标签页
发布时间:2023/12/24 浏览次数:92 分类:Python
-
本教程演示了如何在 Python 中使用 Selenium 在浏览器中自动打开一个新标签页。Selenium 是强大的 Web 自动化和测试工具。我们使用 Selenium 编写脚本,它可以控制 Web 浏览器并执行特定操作。
Conda 安装 Cv2
发布时间:2023/12/24 浏览次数:106 分类:Python
-
本教程演示了如何在 Python 中为 anaconda 用户安装 cv2 模块。互联网上有许多可用的 Python IDE。一种这样的 Python IDE 是 Anaconda,这是一种开源软件
使用 OpenCV solvepnp() 函数解决 PnP 问题
发布时间:2023/12/24 浏览次数:85 分类:Python
-
本教程讨论在 Python 中使用 OpenCV 中的 solvepnp 函数。OpenCV 库是一个开源库,旨在帮助完成计算机视觉任务。
Python 中 NumPy 数组的滑动平均值
发布时间:2023/12/24 浏览次数:145 分类:Python
-
本教程演示了如何在 python 中计算 numpy 数组的滑动平均值。滑动平均值通常用于通过计算特定时间间隔的数据平均值来研究时间序列数据。
在 Python 中计算马氏距离
发布时间:2023/12/24 浏览次数:125 分类:Python
-
有两个主要方法可用于在 Python 中查找两个 NumPy 数组之间的马氏距离,scipy 库中的 cdist() 函数和 numpy 包中的 numpy.einsum() 函数。