迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中找到列表中元素的索引

作者:迹忆客 最近更新:2023/12/17 浏览次数:

本教程将演示如何在 Python 列表中查找元素的位置或索引。


在 Python 中使用列表 index() 方法查找列表的索引

Python 列表有一个内置的方法叫做 index(),该方法接受一个表示要在现有列表中搜索的值的参数。该函数将返回从索引 0 开始找到的第一次出现的索引,而不管它在列表中出现了多少次。

例如,声明一个含有重复值 20 的列表,并调用方法 index(20) 并打印返回的内容。

lst = [13, 4, 20, 15, 6, 20, 20]

print(lst.index(20))

输出:

2

lst 数组中第一次出现的 20 值是在索引 2 上,这是函数调用的结果。具有相同值的其他元素将被忽略,因为它已在列表中找到匹配项。

如果给定列表中不存在某个值,而我们将传递不存在的值称为 index(),会发生什么情况?让我们以这个为例。

lst = [13, 4, 20, 15, 6, 20, 20]

print(lst.index(21))

输出:

ValueError: 21 is not in list

如果在列表中找不到索引,则该函数将引发错误。在某些情况下,这可能不利于调用错误。为避免这种情况,请使用 try...except 块捕获错误,并进行处理,以使如果列表中不存在索引,则将其分配为 -1

lst = [13, 4, 20, 15, 6, 20, 20]

try:
    ndx = lst.index(21)
except:
    ndx = -1

print(ndx)

输出:

-1

这样,就不必调用显式错误,并且程序可以在操作后继续运行。


在 Python 中使用 numpy.where() 查找列表的索引

NumPy 模块具有一个称为 where() 的预定义函数,该函数用于在一个文件中查找多个元素,它接受一个跟定的条件。

在这种情况下,我们将专门使用 where() 来查找给定值的索引。与内置的 index() 函数不同,where() 函数可以返回值所在的索引列表,如果该值在列表中存在多次。如果你需要该值的所有出现,而不仅仅是第一次出现,这就很有用。

第一步是将 Python 列表转换成 NumPy 数组。为此,请调用函数 np.array()

import numpy as np

lst = np.array(lst=[13, 4, 20, 15, 6, 20, 20])

初始化 NumPy 数组后,我们只需要填充 where() 的第一个参数。将第一个参数初始化为 lst == 20 以找到值 20 的给定列表索引。

import numpy as np

lst = [13, 4, 20, 15, 6, 20, 20]

lst = np.array(lst)

result = np.where(lst == 20)

print(result)

输出:

(array([2, 5, 6]),)

由于 NumPy 主要处理矩阵,因此 where() 函数将返回一个数组的元组,而不是单个列表。如果只输出单个列表是首选的,则调用结果的第一个索引,然后使用 print() 将其输出。

import numpy as np

lst = [13, 4, 20, 15, 6, 20, 20]

lst = np.array(lst)

result = np.where(lst == 20)

print(result[0])

输出:

[2 5 6]

请注意,NumPy 数组由单个空格而不是普通逗号定界。

总之,index() 函数是在 Python 列表中查找元素位置的最简单方法。虽然,此函数仅返回给定值首次出现的索引。

如果存在该值的多个实例,则要返回多个索引,则可以选择使用 NumPy 模块中的 where() 函数。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Python 中查找列表中的最大值

发布时间:2023/12/18 浏览次数:192 分类:Python

它演示了如何在 Python 中寻找列表中的最大值。本教程将涵盖一些场景和数据类型,从简单的整数列表到更复杂的结构,如数组中的数组。

用 Python 将两个列表转换为字典

发布时间:2023/12/18 浏览次数:91 分类:Python

它演示了如何在 Python 中把列表转换成字典。本教程将介绍如何在 Python 中把两个列表转换为字典,其中一个列表包含字典的键,另一个包含值。

在 Python 中查找列表中的字符串

发布时间:2023/12/18 浏览次数:110 分类:Python

本教程演示了如何在 Python 中查找具有特定子字符串的元素。我们将使用下面的列表并提取其中有 ack 的字符串。my_list = ["Jack", "Mack", "Jay", "Mark"]

用 Python 将两个列表相乘

发布时间:2023/12/18 浏览次数:137 分类:Python

本教程演示了如何在 Python 中对两个列表进行乘法。本教程将演示在 Python 中执行两个列表元素相乘的各种方法。

用 Python 查找列表中元素的所有索引

发布时间:2023/12/18 浏览次数:89 分类:Python

本教程演示了如何在 Python 中查找列表中某个元素的所有出现位置的索引在 Python 中,列表用于在一个名称下存储多个元素。每个元素可以通过它在列表中的位置来访问。

Python 中按字母顺序对列表进行排序

发布时间:2023/12/18 浏览次数:87 分类:Python

本教程演示了如何在 Python 中按字母顺序对一个列表进行排序。在本教程中,我们将讨论如何使用 sort() 和 sorted() 函数对包含字符串的列表按字母顺序排序,并使用快速排序算法。

在Python中获取列表形状

发布时间:2023/12/18 浏览次数:133 分类:Python

本文探讨了在Python中确定列表形状的方法,涵盖了一维、嵌套和多维列表,以及处理不规则嵌套列表。在Python中,了解列表的形状对于处理数据结构非常重要,特别是涉及多维或嵌套列表的情况

在 Python 中追加元素到到列表的前面

发布时间:2023/12/18 浏览次数:196 分类:Python

它演示了如何在 Python 中把元素追加到列表的前面。在整个教程中,我们将使用一个整数列表作为例子,以关注列表插入,而不是插入各种数据类型

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便