Python - поиск максимума внутри диапазона
Всем привет! Есть список а из которого рассчитывается накопительный итог (список х). Далее в списке х идет поиск минимального значения и максимального, которое должно быть строго (!) до минимума. Текущий вариант почему-то возвращает максимум всего списка х (41), а должен быть 17
import numpy as np
a=[17,-2,8,17,1,-7,3, -15,19, -13]
x=list(np.cumsum(a))
y=min(x)
z=max(x[:y])
print(f'list {x}')
print(f'minimum {y}')
print(f'maximum {z}')
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Потому что в срезе нужно использовать индекс минимального значения, а не само значение:
import numpy as np
a = np.array([17,-2,8,17,1,-7,3, -15,19, -13])
x = np.cumsum(a)
y = np.argmin(x) # <-- ищем индекс минимума!
z = np.min(x[:y])
print(f'list {x}')
print(f'minimum {x[y]}') # <-- значение минимума берём по индексу
print(f'maximum {z}')
Вывод:
list [17 15 23 40 41 34 37 22 41 28]
minimum 15
maximum 17