32. Отфильтровать чётные числа
Условие задачи: Дан список чисел numbers. Нужно получить новый список, в котором останутся только чётные числа из исходного списка. Для списка [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] результат должен быть [2, 4, 6, 8, 10]. Альтернативно нужна реализация через lambda.
Спойлеры к решению
Подсказки
- Чётное число — это число, которое делится на
2без остатка. - Проверка чётности выполняется через
number % 2 == 0. - Новый список можно получить через list comprehension.
- Альтернативный вариант можно сделать через
filter()иlambda. filter()возвращает итератор, поэтому его нужно обернуть вlist().
Решение
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [
number
for number in numbers
if number % 2 == 0
]
print(even_numbers)
Результат:
[2, 4, 6, 8, 10]
Вариант через lambda:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda number: number % 2 == 0, numbers))
print(even_numbers)
Результат:
[2, 4, 6, 8, 10]
В первом варианте используется list comprehension: каждый элемент из numbers попадает в новый список только если выполняется условие number % 2 == 0.
Во втором варианте filter() оставляет только те элементы, для которых lambda number: number % 2 == 0 возвращает True.