Энциклопедия Python:filter()

Материал из Викижурнал
Энциклопедия Python:filter()
Энциклопедия Python:filter()
Энциклопедия Python:filter()
Тематические порталы

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

Примеры использования

Синтаксис filter() выглядит следующим образом:

filter(function, iterable)

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

Вот несколько примеров использования filter():

# Фильтрация четных чисел из списка
numbers = [1, 2, 3, 4, 5, 6]
filtered_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(filtered_numbers)  # [2, 4, 6]

# Фильтрация строк по длине
words = ['apple', 'banana', 'orange', 'pear', 'grape']
filtered_words = list(filter(lambda x: len(x) > 5, words))
print(filtered_words)  # ['banana', 'orange']

# Фильтрация положительных чисел из списка
numbers = [-2, -1, 0, 1, 2]
filtered_numbers = list(filter(lambda x: x > 0, numbers))
print(filtered_numbers)  # [1, 2]

В первом примере функция lambda x: x % 2 == 0 проверяет, является ли число четным, и filter() возвращает только четные числа из исходного списка.

Во втором примере функция lambda x: len(x) > 5 проверяет, является ли длина строки больше 5, и filter() возвращает только строки с длиной более 5 символов из исходного списка.

В третьем примере функция lambda x: x > 0 проверяет, является ли число положительным, и filter() возвращает только положительные числа из исходного списка.

filter() может быть полезен для фильтрации данных или преобразования элементов итерируемого объекта, основываясь на определенном условии.

Другие страницы о Python