Menu
Coddy logo textTech

Добавление условий

Часть раздела Логика и управление потоком выполнения путешествия по Python на Coddy. Урок 52 из 78.

Генераторы списков становятся еще более мощными, когда вы добавляете условную логику. Это позволяет создавать новые списки на основе существующих, фильтруя и преобразуя элементы на основе заданных условий.

Синтаксис для добавления условия в генератор списка (list comprehension) следующий:

new_list = [expression for item in iterable if condition]

Вот разбор синтаксиса:

  • new_list: Новый список, который будет создан.
  • expression: Значение, которое будет включено в new_list. Это может быть измененная версия item.
  • for item in iterable: Цикл, который перебирает каждый элемент в iterable (например, список, кортеж или диапазон).
  • item: Текущий элемент, обрабатываемый в цикле.
  • if condition: Фильтр, который определяет, должен ли текущий item быть включен в new_list. expression вычисляется только в том случае, если condition имеет значение True.

Вот пример:

numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# Вывод: [2, 4, 6]

В этом примере списковое включение создает новый список под названием evens, извлекая каждый элемент n из списка numbers и включая его только в том случае, если он четный (т. е. n % 2 == 0).

challenge icon

Задание

Легко

Создайте функцию с именем filter_and_square, которая принимает список чисел numbers в качестве аргумента. Функция должна использовать списковое включение для создания нового списка, который включает в себя квадраты только положительных чисел из исходного списка. Функция должна возвращать новый список.

Попробуйте сами

def filter_and_square(numbers):
    # Напишите здесь код
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор Python