相等元素的指数

时间:2019-12-28 02:36:55

标签: python list

我有一个基本上是零和一的列表,我想从该列表中获取那些零的所有索引。请问我该怎么做。如果可能,不循环。

list_example = [1,0,0,1,0,0,0,1,1,0]

4 个答案:

答案 0 :(得分:0)

您可以使用np.argwhere()获取其元素满足特定条件的列表中的incis。 下面是代码:

import numpy as np
np.argwhere(np.array(list_example))[0]

输出:

[0, 3, 7, 8]

我们获得list_example中所有非零元素的索引。对于更具体的条件检查,您可以使用

np.argwhere(np.array(list_example==1))

答案 1 :(得分:0)

您可以使用列表理解:

ones_indices = [i for i, e in enumerate(list_example) if e == 1]

答案 2 :(得分:0)

没有循环或导入,您可以通过以下方式做到这一点:

list(zip(*list(filter(lambda x: x[1] == 1, enumerate(list_example)))))[0]
# (0, 3, 7, 8)

或者如果您想要列表:

list(map(list, zip(*list(filter(lambda x: x[1] == 1, enumerate(list_example))))))[0]                                                                                               

# [0, 3, 7, 8]

答案 3 :(得分:0)

到目前为止我的尝试:

g = [0,0,1,0,1,0,0,1,1,0,0,0,1,0]
u = []
   for i in g:

    if i == 1:
        u.append(g.index (i))

print (u)
input ('continue')