Функция Filter() в Python: как использовать, примеры и особенности

На чтение
2 мин
Дата обновления
27.02.2025
#COURSE##INNER#

Функция Filter() в Python: описание, примеры и синтаксис

Filter() - это встроенная функция Python, которая возвращает фильтрованный объект, состоящий только из тех элементов списка, которые удовлетворяют условию функции-аргумента. Часто используется этот метод при работе с коллекциями данных и для фильтрации списков различных объектов.

Функция filter() принимает два аргумента - функцию, которую нужно применить к элементам списка, и сам список. Функция-аргумент должна возвращать либо True, либо False. Метод filter() создает новый список, в который входят только те элементы, для которых функция-аргумент возвращает True. Остальные элементы отбрасываются.

Использование функции filter() упрощает кодирование, так как не требует создания дополнительных циклов – достаточно написать фильтрующую функцию один раз и передавать ее внутрь метода filter().

В данной статье описаны примеры функции filter() и ее синтаксис, которые помогут вам лучше понять эту важную функцию в Python.

Функция Filter() в Python

Функция Filter() в Python позволяет отфильтровать элементы базируясь на заданной функции. Она работает путем перебора каждого элемента в списке и применения к нему функции-фильтра. Функция-фильтр должна возвращать либо истинное, либо ложное значение, чтобы элемент был либо включен, либо исключен из итоговой коллекции данных.

Пример использования функции Filter() в Python:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

print(even_numbers) # [2, 4, 6, 8, 10]

В данном примере функции filter() передается лямбда-функция, которая проверяет является ли элемент четным числом. Результат, возвращаемый функцией filter() затем преобразуется в список.

Пример использования функции Filter() в Python с классом:

class Person:

def __init__(self, name, age):

self.name = name

self.age = age

def over_18(person):

return person.age >= 18

people = [

Person('Bob', 23),

Person('Sarah', 16),

Person('Tom', 45),

Person