Как работают dict comprehension, list comprehension и set comprehension?
В Python comprehension — это короткий и читаемый способ создавать новые коллекции (списки, словари, множества) на основе уже имеющихся данных, часто с фильтрацией и преобразованием элементов.
Они позволяют заменить многострочный цикл одной компактной конструкцией.
1. List comprehension — создание списка
📌 Синтаксис:
[выражение for элемент in итерируемый_объект if условие]Пример:
numbers = [1, 2, 3, 4, 5]
squares = [n ** 2 for n in numbers]
print(squares) # [1, 4, 9, 16, 25]С фильтром:
even_squares = [n ** 2 for n in numbers if n % 2 == 0]
print(even_squares) # [4, 16]2. Set comprehension — создание множества
📌 Почти как list comprehension, но в фигурных скобках:
numbers = [1, 2, 2, 3, 4, 4]
unique_squares = {n ** 2 for n in numbers}
print(unique_squares) # {16, 1, 4, 9}📌 Особенность: автоматически удаляет дубликаты.
3. Dict comprehension — создание словаря
📌 Используется, когда нужно создать словарь из итерируемого объекта:
С фильтром:
4. Вложенные comprehension
Можно вкладывать, например, для матриц:
5. Пример в автотестах (QA Automation)
📌 Получить список только упавших тестов:
📌 Преобразовать результаты тестов в словарь:
Last updated
Was this helpful?