如何查找Python列表中的元素

1,362 阅读3分钟

How To Find Element In List In Python

Python list 是一个实际的容器,因为它把所有数据类型的元素作为一个集合来存储。某些列表操作的知识对于日常的编程是必要的。

列表中的 Python 查找

要在Python list找到一个元素 ,请使用list index() 方法。list index() 是一个内置的方法,它在 list 中搜索一个元素并返回其索引。还有一种方法是在列表中进行 Python 线性搜索。

使用 list index() 方法寻找一个元素

要在列表中找到一个元素,使用Python list index() 方法,index() 是一个内置的 Python 方法,在列表中搜索一个项目并返回其索引。index() 方法在列表中找到给定的元素并返回其位置。

如果同一个元素出现了不止一次,该方法会返回该元素第一次出现的索引。 Python 中的索引是从 0 开始的,而不是 1。 所以,通过索引,我们可以找到一个元素在列表中的位置。

请看下面的代码例子。

# app.py

streaming = ['netflix', 'hulu', 'disney+', 'appletv+']

index = streaming.index('disney+')
print('The index of disney+ is:', index)

输出

➜  pyt python3 app.py
The index of disney+ is: 2
➜  pyt

index() 方法只需要一个参数,即元素,并返回它在列表中的位置。

Python 在列表中的搜索

最直接的方法是做线性搜索 ,例如:

  1. 从列表中最左边的项开始,一个一个地将 x 与列表中的每个项进行比较。
  2. 如果x与某个项目匹配,返回True。
  3. 如果x与任何一个项目不匹配,则返回False。

请看下面的代码。

# app.py

def search(list, platform):
    for i in range(len(list)):
        if list[i] == platform:
            return True
    return False


streaming = ['netflix', 'hulu', 'disney+', 'appletv+']
platform = 'netflix'

if search(streaming, platform):
    print("Platform is found")
else:
    print("Platform does not found")

我们首先创建了一个用户定义的函数,叫做搜索 ,在上面的代码中接受两个参数。

第一个参数是我们的列表,我们需要在其中找到项目,第二个参数是平台,也就是我们需要在列表中搜索的字符串。

因此,我们正在循环浏览一个列表,并将每个列表元素与平台参数进行比较。

如果两者匹配,则找到该元素;否则,则没有找到。

输出

➜  pyt python3 app.py
Platform is found
➜  pyt

使用 "in "操作符检查该项目是否存在于列表中

要检查一个元素是否存在于列表中,使用Python in 操作符

语法

element in list

如果一个元素存在于列表中,它将返回True;否则,它将返回False

请看下面的代码。

# app.py

streaming = ['netflix', 'hulu', 'disney+', 'appletv+']
platform = 'hulu'
if platform in streaming:
  print('Hulu is in the streaming service business')
else:
  print('It does not include')

输出

➜  pyt python3 app.py
Hulu is in the streaming service business
➜  pyt

在 Python 中过滤一个集合

要在一个序列中找到满足特定条件的所有元素,可以使用列表理解或生成器表达式。

请看下面的代码示例。

# app.py

streaming = ['netflix', 'hulu', 'disney+', 'appletv+']
platform = 'hulu'
result = any(len(elem) == 8 for elem in streaming)

if result:
    print("Yes, string with length 8 is found")
else:
    print('Not found')

在上面的代码中,我们搜索一个字符串长度为 8 的元素,如果找到,将打印 "是的,找到了长度为 8 的字符串";否则,未找到。

输出

➜  pyt python3 app.py
Yes, string with length 8 is found
➜  pyt

结论

Python 列表可以包含不同的数据类型,如整数、字符串、布尔值等。有时,它需要在列表中搜索特定的元素。在 python 列表中,可以通过各种方式搜索这些项目。我们已经看到了一些方法,如通过索引搜索列表中的元素,对列表进行线性搜索。

以上就是Python在列表中搜索的例子。