如何在 Python 中检查列表是否存在某个元素

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

列表是 Python 中一个至关重要的容器,因为它能够存储所有类型的数据元素作为集合。掌握特定的列表操作对于日常编程至关重要。本文将讨论最基本的列表操作之一,即验证元素在列表中的存在性。

方法 1:朴素方法

在朴素方法中,人们使用循环遍历列表中的所有元素,以验证该元素是否为目标元素。这是确定元素在列表中的最基本的方法。

方法 2:使用 in 运算符

在 Python 中,这是确定元素是否存在的最常用方法。如果元素存在于列表中,则返回 True,如果不存在,则返回 False。使用此方法检查列表时,列表不需要排序。

代码 #1: 使用朴素方法和 in 运算符检查元素是否在列表中的演示。

输出

Check if 5 exists in list ( using loop ) : 
Given element does not exists
Check if 5 exists in list ( using in ) : 
Given element Exists

方法 3:使用 set() + in 运算符

将列表转换为集合(set),然后再使用 in 运算符,可能比仅使用 in 运算符更有意义。然而,效率上的优势也带来了一些缺点。其中一个问题是列表的顺序不会被保留。如果您选择创建一个列表并制作一个新的列表,您将需要使用额外的空间。另一个问题是集合不允许重复项,因此重复的元素将被从列表中删除。

方法 4:使用 sort() + bisect_left()

用于确定元素存在的传统二分查找方法意味着列表必须首先被排序,因此不会保留元素的顺序。bisect_left() 将返回找到的元素的第一个实例。它与 C++ STL 中的 lower_bound() 类似。

注意:bisect 函数只会给出元素的位置,而不会提供元素是否存在的信息。

代码 #2: 使用 set() + in 运算符和 sort() + bisect_left() 演示检查元素在列表中的存在性。

输出

Checking if 5 exists in list (using set() + in): 
Given element does not exists
Checking if 7 exists in list (using sort() + bisect_left()): 
Given element does not exists

方法 5:使用 count()

我们可以利用 Python 内置的列表方法 count() 来验证传递的元素是否存在于列表中。如果传递的元素在列表中,那么 count() 方法将显示它在列表中出现的次数。如果这是一个正数,则意味着该元素存在于列表中。

代码 #3: 解释如何通过 count() 方法验证元素在列表中的存在性。

输出

Checking if 5 exists in list: 
Yes, 5 exists in list
Checking if 46 exists in list: 
Yes, 46 exists in list

结论

在本教程中,我们讨论了如何在 Python 中使用不同的方法来检查给定元素是否存在于列表中。