У меня есть массив с размером 1500 x 3300. Я хочу получить индексы всех значений, которые имеют значение больше 0,40.
Например, подмассив:
a = [0,0.5,0.4,-1,-1,0.9,0.3,-1,0.7]
Желаемый результат:
[0,1,5,8]
Я написал следующий код, но для его запуска требуется много времени. Работа с массивом размером 1500 x 3300 занимает 20 минут.
def non_zero(lst):
""" return indexes of items which are not -1 and value is greater than 0.40 """
return [i for i, e in enumerate(lst) if e > 0.40]
Какая самая быстрая альтернатива для этого?