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