Вроде бы всё просто, функция делает буквально то, о чём говорит её название, — фильтрует элементы в последовательности. Но давайте разбираться, как именно она это делает.
Основная фишка функции
filter в том, что каждый элемент передается функции, которая включает его в последовательность, если по условию получает True, и отбрасывает в случае False.Например:
def add_three(x): if x % 2 == 0: return True else: return Falseli = [1,2,3,4,5,6,7,8][i for i in filter(add_three, li)]Мы получим:
#=> [2, 4, 6, 8}Для базового использования этого понимания должно хватить. Но у
filter также есть несколько особенностей использования, которые важно учитывать при продвинутой разработке. О них подробнее можно почитать в статье.#собеседование