Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表中第一次出现零的索引_Python_Python 3.x_List_Numpy_Numpy Ndarray - Fatal编程技术网

Python列表中第一次出现零的索引

Python列表中第一次出现零的索引,python,python-3.x,list,numpy,numpy-ndarray,Python,Python 3.x,List,Numpy,Numpy Ndarray,我有一张这样的清单 import numpy as np myList = [0.0 , 0.0, 0.0, 2.0, 2.0, 0.0, 2.5, 0.0, 0.0, 0.0, 3.0, 0.0] 我可以找到非零出现的索引,如下所示 I = np.nonzero(myList) for i in I: print(i) 我能找到零的第一次出现的索引吗?像下面这样 [0, 5, 7, 11] [0, 5, 7, 11] 由于NumPy被标记,这里有两种方法- In [44]: m =

我有一张这样的清单

import numpy as np
myList = [0.0 , 0.0, 0.0, 2.0, 2.0, 0.0, 2.5, 0.0, 0.0, 0.0, 3.0, 0.0]
我可以找到非零出现的索引,如下所示

I = np.nonzero(myList)
for i in I:
  print(i)
我能找到零的第一次出现的
索引吗?像下面这样

[0, 5, 7, 11]
[0, 5, 7, 11]

由于NumPy被标记,这里有两种方法-

In [44]: m = np.r_[False,np.equal(myList,0)]

In [45]: np.flatnonzero(m[:-1]<m[1:])
Out[45]: array([ 0,  5,  7, 11])
使用
np.diff
的另一种方法,用于一个班轮-

In [46]: np.flatnonzero(np.diff(np.r_[0,np.equal(myList,0)])==1)
Out[46]: array([ 0,  5,  7, 11])
使用阵列输入
a
-

In [52]: np.flatnonzero(np.diff(np.r_[0,a==0])==1)
Out[52]: array([ 0,  5,  7, 11])
用python

i = True
r = []
l = [0.0 , 0.0, 0.0, 2.0, 2.0, 0.0, 2.5, 0.0, 0.0, 0.0, 3.0, 0.0]
for a in range(len(l)):
    if l[a] == 0:
        if i:
            r.append(a)
            i = False
    else:
        i = True
print(r)
印刷品

[0, 5, 7, 11]