在平时数据分析过程中,经常遇到需要在数据中获取特定的元素的信息.

方法一: 利用数组自身的特性 a.index(target), 其中a是你的目标list,target是你需要的下标对应的值

a = [2, 0, 6, 4, 0, 8] 
print(a.index(0)) 
output: 
1 

从上面的例子中, 我们可以发现a.index(0)只输出了第一个0所在的索引, 如果a中有多个0则无法完整地输出所有0元素对应的索引。

所以,我们看看我们的第二种方案:

方法二: 利用enumerate函数。

a = [2, 0, 6, 4, 0, 8] 
print(list(enumerate(a)))
>>> [(0, 2), (1, 0), (2, 6), (3, 4), (4, 0), (5, 8)]

通过上面的输出, 我们可以发现enumerate的输出类型是tuple, 即将 index 和 value 以tuple的形式进行存储

for index, value in enumerate(a):
    if value == 0:
        print(index)
output: 
1
4

可见,list的index()方法是在list中找到第一个匹配的值。

而enumerate是将list(当然,也包含其它类型)中的元素元组化,然后我们利用循环方法获取相应的匹配的结果。所以方案二对于重复的数值能够一个不漏的get出来。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐