Энциклопедия 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()
может быть полезен для фильтрации данных или преобразования элементов итерируемого объекта, основываясь на определенном условии.