Встречается на 2% собеседований по Python
Что такое comprehension в Python
Comprehension — это компактный способ создания коллекций (списков, словарей, множеств) на основе итерируемых объектов. В Python существуют:
- List comprehension
python
numbers = [x**2 for x in range(10) if x % 2 == 0] # [0, 4, 16, 36, 64]- Dict comprehension
python
squares = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}- Set comprehension
python
unique = {x for x in 'abracadabra' if x not in 'abc'} # {'d', 'r'}- Generator expression (аналог для генераторов)
python
gen = (x*2 for x in [1, 2, 3])Особенности:
- Читаемость (но может ухудшиться при сложных условиях)
- Производительность обычно выше, чем у циклов
- Поддерживает вложенные циклы и условия
- Не создает переменных в текущем namespace (в отличие от цикла for)
Используйте там, где логика простая. Для сложных преобразований лучше обычные циклы.

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