← Назад ко всем вопросам
Какие есть списковые генераторы?
1️⃣ Как кратко ответить
Списковые генераторы в Python — это синтаксический сахар для создания списков на основе существующих итерируемых объектов. Они позволяют компактно и эффективно создавать новые списки, применяя выражения и условия в одной строке.
2️⃣ Подробное объяснение темы
Основной синтаксис
Списковый генератор имеет следующий синтаксис:
new_list = [expression for item in iterable if condition]
expression— выражение, которое определяет, как будет выглядеть каждый элемент нового списка.item— переменная, которая принимает значение каждого элемента изiterable.iterable— итерируемый объект, из которого берутся элементы.condition— необязательное условие, которое фильтрует элементы.
Пример без условия
Создание списка квадратов чисел от 0 до 9:
squares = [x**2 for x in range(10)]
range(10)создает итерируемый объект с числами от 0 до 9.x**2вычисляет квадрат каждого числа.squaresбудет содержать[0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
Пример с условием
Создание списка четных чисел от 0 до 9:
evens = [x for x in range(10) if x % 2 == 0]
x % 2 == 0— условие, которое проверяет, является ли число четным.evensбудет содержать[0, 2, 4, 6, 8].
Применение нескольких циклов
Списковые генераторы также поддерживают вложенные циклы:
pairs = [(x, y) for x in range(3) for y in range(3)]
- Два вложенных цикла
for x in range(3)иfor y in range(3)создают все возможные пары(x, y). pairsбудет содержать[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)].
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться