Как отфильтровать максимальное значение в списке?

Всем привет! Совсем недавно в программировании на питоне, хочу найти максимальное значение в списке , используя filter(). Не могли бы вы помочь с этим?

Пробовала делать так:

  n=[1,2,3,4]
  f=filter(lambda x: max(x),n)
  print(f)

но выводит:

<filter object at 0x00000242B2220DC0>

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

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

Допустим, это нужно в учебных целях. Тогда примерно так:

n = [1,2,3,4]
f = filter(lambda x: x == max(n), n)
print(*f)
# 4
  • Нужно прописать условие фильтра, т.е. равенство элемента максимальному
  • Нужно получить значение из фильтра, как-то по нему проитерировавшись
→ Ссылка
Автор решения: Алексей Белкин

На сколько я знаю filter() не для того чтобы искать максимальный элемент. Эта функция для отсечки из набора значений по критерию из функции. Но если прям очень хочется реализовать максимальное значение (даже если при этом не прочь поизвращаться), тогда:

def el_in_lst(val):
    return True if val==maximal else False
n = [1, 2, 3, 4]
maximal = max(n)
print(int(list(filter(el_in_lst,[i for i in n]))[0]))

P.S.: Думаю еще больше извратиться нельзя будет =)

→ Ссылка