filter()
, можно использовать лямбда-функцию, которая проверяет остаток от деления на 2. Вот пример:
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# even_numbers будет [2, 4, 6]
filter()
принимает функцию (в данном случае, лямбда-функцию) и итерируемый объект (список чисел). Лямбда-функция возвращает True
, если число четное, и False
в противном случае. filter()
возвращает итератор, содержащий только те элементы, для которых функция вернула True
. list()
преобразует этот итератор обратно в список.
Для фильтрации списка чисел по их четности с использованием функции filter()
в Python, можно применить следующий подход:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
True
, если число четное, и False
, если нечетное. Можно использовать оператор %
(остаток от деления) для проверки делимости на 2.
def is_even(number):
return number % 2 == 0
filter()
для фильтрации списка: Функция filter()
принимает два аргумента: функцию (в данном случае, is_even
) и итерируемый объект (в данном случае, список numbers
). Она возвращает итератор, содержащий только те элементы, для которых функция вернула True
.
even_numbers = filter(is_even, numbers)
filter()
возвращает итератор, для получения списка четных чисел его нужно преобразовать в список с помощью функции list()
.
even_numbers_list = list(even_numbers)
print(even_numbers_list) # Вывод: [2, 4, 6, 8, 10]
Полный пример кода:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_even(number):
return number % 2 == 0
even_numbers = filter(is_even, numbers)
even_numbers_list = list(even_numbers)
print(even_numbers_list)
Использование lambda-функции (альтернативный вариант):
Для более краткой записи можно использовать lambda-функцию вместо определения отдельной функции is_even
:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
even_numbers_list = list(even_numbers)
print(even_numbers_list)
В этом случае lambda x: x % 2 == 0
является анонимной функцией, которая принимает аргумент x
и возвращает True
, если x
четное, и False
в противном случае.