Что такое list comprehension
Выражение заключенное в квадратные/фигурные скобки, в котором используются ключевые слова for
и in
для построения списка/словаря путем обработки и фильтрации элементов из одного или нескольких итерируемых объектов. Списковое включение работает энергично.
Энергичный - итерируемый объект, который сразу строит все свои элементы. В Python включения - энергичные операции. Противоположность - ленивый.
Oct. 10, 2023, Источник
Генераторы позволяют создавать списки с помощью одной строки кода
>>> [i for i in range(1, 11, 2)]
[1, 3, 5, 7, 9]
Oct. 10, 2023, Источник
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 делает код более кратким и выразительным, особенно для простых преобразований и фильтраций данных. Однако не следует злоупотреблять им, чтобы избежать снижения читаемости кода.
Feb. 16, 2024, easyoffer