Встречается на собеседованиях • сегодня
Какие знаешь списковые генераторы
Списковые генераторы (list comprehensions) — это лаконичный способ создания списков в Python. Они позволяют заменять циклы for и условные конструкции if одной строкой.
Основные виды:
- Простой генератор
python
numbers = [x for x in range(10)] # [0, 1, 2, ..., 9]- С условием
if
python
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]- С тернарным оператором
python
labels = ['even' if x % 2 == 0 else 'odd' for x in range(5)] # ['even', 'odd', ...]- Вложенные циклы
python
pairs = [(x, y) for x in [1, 2] for y in [3, 4]] # [(1, 3), (1, 4), (2, 3), (2, 4)]- Генератор с
if-elseперед циклом (Python 3.8+)
python
data = [y if (y := x + 1) > 2 else 0 for x in [1, 2, 3]] # [0, 3, 4]Альтернативы:
set/dictcomprehensions:{x: x**2 for x in range(3)}- Генераторные выражения:
(x**2 for x in range(3))(ленивые вычисления).
⚠️ Избегайте слишком сложных генераторов — это ухудшает читаемость.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы