Проверяет знание синтаксиса comprehension и понимание, какие коллекции можно создавать этим способом.
Comprehension позволяет создавать не только списки. Также можно создавать множества, словари и генераторы. Тип структуры зависит от используемых скобок. Это удобный способ компактно сформировать коллекцию на основе другой последовательности.
Comprehension — это компактный синтаксис для создания коллекций на основе другой последовательности.
Python поддерживает четыре вида comprehension:
Список
numbers = [x * 2 for x in range(5)]
Множество
numbers = {x * 2 for x in range(5)}
Словарь
numbers = {x: x * 2 for x in range(5)}
Генератор
numbers = (x * 2 for x in range(5))
Различие определяется:
типом скобок
формой выражения (для dict используется ключ и значение)
На практике comprehension применяют:
для фильтрации данных
для преобразования коллекций
для создания промежуточных структур
Пример фильтрации:
evens = [x for x in range(10) if x % 2 == 0]
Comprehension ухудшает читаемость, если:
вложенность слишком большая
логика сложная
используется много условий
В таких случаях лучше обычный цикл.
Comprehension — универсальный инструмент, позволяющий создавать list, set, dict и generator. Он удобен для простых преобразований и фильтрации данных.