我有一个基本上是零和一的列表,我想从该列表中获取那些零的所有索引。请问我该怎么做。如果可能,不循环。
list_example = [1,0,0,1,0,0,0,1,1,0]
答案 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')