获取满足条件的列表中元素的索引

时间:2019-06-06 17:21:39

标签: python list

我试图索引整数列表的位置以获得> 0的整数的位置。

这是我的列表:

paying=[0,0,0,1,0,3,4,0,5]

这是所需的输出:

[3,5,6,8]

rdo=paying[paying>0]

并尝试:

rdo=paying.index(paying>0)

两种情况下的输出都是

typeerror > not suported between instances of list and int

3 个答案:

答案 0 :(得分:1)

使用list comprehensionsenumerate内置函数:

paying=[0,0,0,1,0,3,4,0,5]
print([i for i, e in enumerate(paying) if e > 0])
  

[3, 5, 6, 8]

答案 1 :(得分:1)

您可以使用列表理解。

paying=[0,0,0,1,0,3,4,0,5]
result = [index for index, value in enumerate(paying) if value > 0]

答案 2 :(得分:1)

使用枚举:

paying=[0,0,0,1,0,3,4,0,5]
[i for i, e in enumerate(paying) if e > 0]

OR

[paying.index(e) for e in paying if e > 0]

Result:  [3, 5, 6, 8]