filter()
Функция filter() в Python используется для создания нового итерируемого объекта, содержащего элементы из исходного итерируемого объекта, которые удовлетворяют заданному условию.
Назначение: Основная цель функции filter() - отфильтровать элементы из итерируемого объекта (список, кортеж, строка, множество и т.д.) на основе заданного условия, представленного в виде функции или лямбда-выражения.
Что возвращает: Функция filter() возвращает итератор, содержащий элементы исходного итерируемого объекта, для которых заданное условие истинно.
Описание: Синтаксис функции filter() следующий:
filter(function, iterable)- function- функция или лямбда-выражение, которое определяет условие фильтрации. Она должна принимать один аргумент (элемент итерируемого объекта) и возвращать- Trueили- False.
- iterable- итерируемый объект (список, кортеж, строка, множество и т.д.), элементы которого нужно отфильтровать.
Примеры использования:
- Фильтрация списка чисел 
- Фильтрация строки 
- Фильтрация списка объектов 
- Использование - filter()с функцией
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]string = "Hello, World!"
vowels = filter(lambda char: char.lower() in 'aeiou', string)
print(''.join(vowels))  # Выведет "eoo"class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
people = [
    Person("Alice", 25),
    Person("Bob", 30),
    Person("Charlie", 35),
    Person("David", 40)
]
adults = filter(lambda person: person.age >= 30, people)
for adult in adults:
    print(f"{adult.name} ({adult.age})")
# Выведет:
# Bob (30)
# Charlie (35)
# David (40)def is_even(num):
    return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)  # Выведет [2, 4, 6, 8, 10]Функция filter() часто используется в комбинации с другими функциями обработки данных, такими как map(), sorted() или reduce(), для создания более сложных и эффективных конвейеров обработки данных.
Последнее обновление
