2014-12-08 22 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

相关问题