Встречается на собеседованиях • сегодня

Что такое comprehension в Python

Comprehension — это компактный способ создания коллекций (списков, словарей, множеств) на основе итерируемых объектов. В Python существуют:

  1. List comprehension
python
numbers = [x**2 for x in range(10) if x % 2 == 0]  # [0, 4, 16, 36, 64]
  1. Dict comprehension
python
squares = {x: x**2 for x in range(5)}  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
  1. Set comprehension
python
unique = {x for x in 'abracadabra' if x not in 'abc'}  # {'d', 'r'}
  1. Generator expression (аналог для генераторов)
python
gen = (x*2 for x in [1, 2, 3])

Особенности:

  • Читаемость (но может ухудшиться при сложных условиях)
  • Производительность обычно выше, чем у циклов
  • Поддерживает вложенные циклы и условия
  • Не создает переменных в текущем namespace (в отличие от цикла for)

Используйте там, где логика простая. Для сложных преобразований лучше обычные циклы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы