Filter Python: Your Ultimate Resource for Learning About Python Filters
Функция filter() в Python позволяет отфильтровать элементы из последовательности на основе заданного условия. Она возвращает итератор, который содержит только те элементы, которые удовлетворяют условию.
Синтаксис функции filter() выглядит следующим образом:
filter(function, iterable)
Здесь function - функция, которая будет применена к каждому элементу последовательности iterable; iterable - последовательность, которую мы хотим отфильтровать на основе функции function.
Пример кода:
# Создаем список чисел
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Определяем функцию, которая проверяет, является ли число четным
def is_even(num):
return num % 2 == 0
# Применяем функцию filter(), чтобы отфильтровать только четные числа
result = filter(is_even, numbers)
# Печатаем результат
print(list(result))
Результат выполнения программы:
[2, 4, 6, 8, 10]
В данном примере мы создали список чисел от 1 до 10, определили функцию is_even(), которая проверяет, является ли число четным, и затем применили функцию filter() для получения списка только четных чисел. Результатом работы функции filter() является итератор, поэтому мы используем функцию list() для преобразования его в список перед выводом результата.
Также можно использовать lambda-функцию для определения условия фильтрации:
# Создаем список слов
words = ['apple', 'banana', 'cherry', 'date', 'eggplant']
# Используем lambda-функцию для фильтрации слов, начинающихся на 'a'
result = filter(lambda x: x.startswith('a'), words)
# Печатаем результат
print(list(result))
Результат выполнения программы:
['apple']
Здесь мы создали список слов и использовали lambda-функцию, чтобы отфильтровать только те слова, которые начинаются с буквы 'a'.