Добавление условий
Часть раздела Логика и управление потоком выполнения путешествия по 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).
Задание
ЛегкоСоздайте функцию с именем filter_and_square, которая принимает список чисел numbers в качестве аргумента. Функция должна использовать списковое включение для создания нового списка, который включает в себя квадраты только положительных чисел из исходного списка. Функция должна возвращать новый список.
Попробуйте сами
def filter_and_square(numbers):
# Напишите здесь кодВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком выполнения
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary SorterПотренируйтесь самостоятельно: Онлайн-компилятор Python