【问题标题】:Python: Return index of an element of an array given specific conditionsPython:在特定条件下返回数组元素的索引
【发布时间】:2014-12-08 01:27:36
【问题描述】:

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

【问题讨论】:

  • 请显示一些代码。这将为您提供更强有力和更快的答案。

标签: python arrays indexing element


【解决方案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

【讨论】:

    猜你喜欢
    • 2014-04-28
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2011-10-25
    • 2012-11-13
    • 1970-01-01
    相关资源
    最近更新 更多