Python:给定特定条件,返回数组元素的索引

时间:2014-12-08 01:27:36

标签: python arrays indexing element

感谢您为我查看此内容。 python新手。 所以,我有一个数组,time = [1,2,3,4,5,6,7,8 ....]我需要第一个元素的索引,其中时间> 7。 到目前为止我所拥有的: time.index(np.where(time> 7)) 得到错误: AttributeError:'numpy.ndarray'对象没有属性'index' 到目前为止,这在黑暗中很热。 请帮忙! 谢谢!

1 个答案:

答案 0 :(得分: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循环和索引:

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