在数组

时间:2016-10-04 14:24:07

标签: python

所以我有一个数组,我从一个有多个数字的文件中读取。我需要找到数组的所有索引等于某个值,并且我在循环中执行它(每次都是不同的值)。如果我一个接一个地做它会很完美,但是当我做循环时,在某些情况下得到0个匹配,我知道答案不应该为零。这是一个很长的数组,但这是一个例子:

array = [0.2  0.2  0.4  .... 1.0]
m=20
for i in xrange(mbins):
    mg = 0.2*i
    for j in xrange(iterations):
        w = np.where(list == mg)
        print w

但我对于i = 3,4,7以及其他一些数字我是空的。我真的不明白发生了什么。我试过没有np.where,但仍然无法正常工作。

(真正的代码比这更复杂,但这是失败的地方)

谢谢!

1 个答案:

答案 0 :(得分:0)

这是你想要的,通过迭代从列表中获取值的所有索引:

mg = # some value
start = lst.index(mg)
# first occurrence of mg
print (start)
for i in range(lst.count(mg)-1):
  start += lst[start+1:].index(mg)+1
  print (start)

这将返回mglst的所有索引。