📅  最后修改于: 2023-12-03 15:34:09.244000             🧑  作者: Mango
在Python中,我们可以使用列表(list)来存储一组数据。但是,有时候我们需要知道某个元素在列表中出现的索引位置。如果一个元素在列表中出现多次,我们也需要获取所有出现的索引位置。下面介绍几种方法可以实现这一要求。
my_list = [2, 4, 6, 2, 8, 2, 10]
indices = [index for index, element in enumerate(my_list) if element == 2]
print(indices)
输出结果:
[0, 3, 5]
说明:该方法使用for循环遍历列表中的每个元素,并使用enumerate方法获取元素的索引和值。然后,使用if语句来筛选出所有等于2的元素,并将索引存储在一个列表中,最后打印出来。
my_list = [2, 4, 6, 2, 8, 2, 10]
indices = [index for index in range(len(my_list)) if my_list[index] == 2]
print(indices)
输出结果:
[0, 3, 5]
说明:该方法同样使用for循环遍历列表中的每个元素,但是使用list.index方法来获取元素在列表中第一次出现的索引位置。为了获取列表中所有出现的索引位置,我们需要通过循环来逐个查找每个元素的索引,并将索引存储在一个列表中。
import numpy as np
my_list = [2, 4, 6, 2, 8, 2, 10]
indices = np.where(np.array(my_list) == 2)[0]
print(indices)
输出结果:
[0 3 5]
说明:该方法使用numpy库中的where方法来查找所有出现2的元素的索引。首先将列表转换为numpy数组,然后使用where方法找到所有等于2的元素的索引位置,并将索引存储在一个numpy数组中。最后,使用[0]来获取所有索引位置的值。