python 获取list特定元素下标
在平时数据分析过程中,经常遇到需要在数据中获取特定的元素的信息.方法一: 利用数组自身的特性 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
·
在平时数据分析过程中,经常遇到需要在数据中获取特定的元素的信息.
方法一: 利用数组自身的特性 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出来。
更多推荐
已为社区贡献10条内容
所有评论(0)