Спросят с вероятностью 17%
List comprehension - это конструкция, которая позволяет создавать списки на основе других последовательностей (например, списков, кортежей, множеств) более компактно и читаемо.
Синтаксис list comprehension выглядит следующим образом:
[выражение for элемент in последовательность if условие]
В расширенной форме:
[выражение for элемент in последовательность]
где:
-
выражение
- это выражение, которое будет применено к каждому элементу последовательности.-
элемент
- это переменная, представляющая текущий элемент последовательности.-
последовательность
- это исходная последовательность, по которой будет проходить итерация.-
условие
(необязательно) - это условие, которое фильтрует элементы последовательности.Примеры использования list comprehension:
1️⃣ Создание списка квадратов чисел от 0 до 9:
squares = [x**2 for x in range(10)]
2️⃣ Фильтрация списка, оставляя только четные числа:
even_numbers = [x for x in range(10) if x % 2 == 0]
3️⃣ Преобразование списка строк в список их длин:
strings = ["apple", "banana", "orange"]
lengths = [len(s) for s in strings]
List comprehension делает код более кратким и выразительным, особенно для простых преобразований и фильтраций данных. Однако не следует злоупотреблять им, чтобы избежать снижения читаемости кода.