Скажем, у меня есть список в форме:
mylist = [5, 8, 40, 90, 3, 100, 79, 10, 10]
Я хочу найти индексы элементов в пределах 80% от значения максимума в списке. Я могу сделать это с помощью нескольких циклов, но я хочу узнать, есть ли более функциональный способ сделать это. Вот что я использовал:
max_nr = max(mylist)
all_max = list(filter(lambda y : y > max_nr*0.8, mylist))
Есть ли следующий шаг (или один шаг) с map
или filter
, который мог бы сказать: пройти по списку и сохранить только индексте элементы, которые подчиняются ограничениям, превышающим число.
Я ищу альтернативу применению третьего шага:
all_max_index = [mylist.index(i) for i in all_max]