нахождение числа в диапазоне

Передо мной стоит задача найти числа из определенного диапазона в списке TempPred.

Мой код:

O = (lambda x: 7000<x<30000, TempPred)

выдает:

    ([[ 3172.19362974],
           [ 3810.48455547],
           [ 3184.33129711],
           [ 3349.42541508],
           [13293.07194055],

и т.д.


Ответы (2 шт):

Автор решения: Amgarak

Хм, если я правильно понял мысль:

TempPred = [
    [3172.19362974],
    [3810.48455547],
    [3184.33129711],
    [3349.42541508],
    [13293.07194055],
]

test = list(filter(lambda x: 7000 < x[0] < 30000, TempPred))
print(test)
→ Ссылка
Автор решения: Vladimir Bogdanov

Как вариант через выражение генератор:

g = (x for x in TempPred if 7000 < x[0] < 30000)
print(list(g))

или через массив numpy:

import numpy as np
arr = np.array(TempPred)
print(arr[(arr > 7000) & (arr < 30000)].tolist())
→ Ссылка