В этой статье разберём 3 метода решения задачи, которая заключается в выводе четных элементов (чисел) списка в Python. Эти методы будут заключаться в использовании цикла for, генератора списков, а также функции filter(). Каждый метод будет рассмотрен подробно с примерами кода и объяснением его работы.
Вывод четных элементов(чисел) списка с помощью цикла for
Один из наиболее простых и понятных способов выделения четных элементов из списка в Python — это использование цикла for. Мы можем перебрать каждый элемент списка и проверить его на четность с помощью операции взятия остатка от деления на 2. Если остаток равен 0, это означает, что элемент четный.
Пример кода
# Исходный список
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Перебираем элементы исходного списка
for num in numbers:
# Проверяем четность элемента
if num % 2 == 0:
# Если элемент четный, выводим его на экран
print(num, end=' ')
Объяснение кода
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: Создаем списокnumbers, содержащий числа от 1 до 10.for num in numbers:: Начинаем циклfor, который будет перебирать каждый элементnumиз спискаnumbers.if num % 2 == 0:: Проверяем, является ли текущий элементnumчетным. Для этого используется оператор%, который возвращает остаток от деленияnumна 2. Если остаток равен 0, то число четное.print(num, end=' '): Если текущий элементnumчетный, мы выводим его на экран с помощью функцииprint(). Параметрend=' 'используется для того, чтобы числа выводились в одной строке, разделенные пробелом.
Вывод четных элементов(чисел) списка с помощью генератора списков
Генераторы списков — это компактный и элегантный способ создания списков в Python. Они позволяют нам создавать списки с использованием более лаконичного синтаксиса, что делает код более читаемым и понятным.
Пример кода
# Исходный список чисел от 1 до 10
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Генератор списка для выбора четных чисел из исходного списка
even_numbers = [num for num in numbers if num % 2 == 0]
# Вывод четных чисел
print("Четные элементы списка:", even_numbers)
Объяснение кода
- Создание списка
numbers: Мы начинаем с создания исходного спискаnumbers, который содержит числа от 1 до 10. - Генератор списка: Мы используем генератор списка для создания нового списка
even_numbers, который будет содержать только четные числа из исходного списка. Генератор списка представлен выражением[num for num in numbers if num % 2 == 0]. Это выражение означает, что мы проходимся по каждому элементуnumв спискеnumbers, и добавляем его в новый список только в том случае, если число четное (т.е. если остаток от деления числа на 2 равен 0). - Вывод результатов: Мы выводим новый список
even_numbers, который содержит только четные элементы из исходного списка.
Вывод четных элементов(чисел) списка с помощью функции filter()
Давайте теперь рассмотрим метод с использованием функции filter().
Функция
filter()в Python предназначена для фильтрации элементов последовательности (например, списка) на основе результата выполнения заданной функции для каждого элемента. Она принимает два аргумента: функцию и итерируемый объект (например, список). Функцияfilter()применяет заданную функцию к каждому элементу итерируемого объекта и возвращает только те элементы, для которых функция возвращаетTrue.
Пример кода
# Исходный список чисел от 1 до 10
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Функция, определяющая, является ли число четным
def is_even(num):
return num % 2 == 0
# Использование функции filter() для фильтрации четных чисел
even_numbers = list(filter(is_even, numbers))
# Вывод четных чисел
print("Четные элементы списка:", even_numbers)
Объяснение кода
- Создание списка
numbers: Мы начинаем с создания исходного спискаnumbers, который содержит числа от 1 до 10. - Определение функции
is_even(): Мы определяем функциюis_even(), которая принимает число в качестве аргумента и возвращаетTrue, если число четное, иFalseв противном случае. - Использование функции
filter(): Мы используем встроенную функциюfilter(), чтобы отфильтровать четные числа из исходного списка. Функцияfilter()принимает два аргумента: функциюis_even()и списокnumbers. Она применяет функциюis_even()к каждому элементу спискаnumbersи возвращает только те элементы, для которых функцияis_even()вернулаTrue. - Преобразование результата в список: Результат функции
filter()представляет собой итератор, поэтому мы преобразуем его в список с помощью функцииlist(). - Вывод результатов: Мы выводим новый список
even_numbers, который содержит только четные элементы из исходного списка.








