В этой статье разберём 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
, который содержит только четные элементы из исходного списка.