2014-12-08 110 views
0

感謝您爲我檢查了這一點。新的python。 所以,我有一個數組,時間= [1,2,3,4,5,6,7,8 ....],我需要第一個元素的索引,其中時間> 7。 我有什麼far: time.index(np.where(time> 7)) 獲取錯誤: AttributeError:'numpy.ndarray'對象沒有屬性'index' 這在目前的黑暗中很熱。 請幫助! 謝謝!Python:給定特定條件的數組元素的返回索引

+0

請出示一些代碼。這會給你一個更強更快的答案。 – rfornal 2014-12-08 01:32:09

回答

1

如果使用numpy的,你可以做如下:

time_l=[1,2,3,4,5,6,7,8] 

import numpy as np 
a = np.array(time_l) 
print(np.where(a > 7)) 
# Prints (array([7]),) 

不需要你的清單,numpy的上使用索引。

您也可以使用列表理解:

print([i for i,v in enumerate(time_l) if v > 7]) 
# gives: [7] 

替代方式,發電機:

time_l=[1,2,3,4,5,6,7,8,9,10] 
print(next(i for i,v in enumerate(time_l) if v > 7)) 
# prints 7 

,更直觀的方式,使用循環和索引:

for v in time_l: 
    if v > 7: 
     print(time_l.index(v)) 
     break 
+0

完美!謝謝! – 2014-12-08 01:52:13