Списковые включения (list comprehensions) – это удобный и компактный синтаксис для создания списков в Python. Они позволяют создавать новые списки, применяя выражение к каждому элементу итерируемого объекта, и, при необходимости, фильтровать элементы с помощью условий. В результате код становится более читаемым и быстрым.
Примеры использования списковых включений
Создание списка квадратов чисел
squares = [x ** 2 for x in range(1, 6)] print(squares) # вывод: [1, 4, 9, 16, 25]
Фильтрация элементов списка
even_numbers = [x for x in range(1, 11) if x % 2 == 0] print(even_numbers) # вывод: [2, 4, 6, 8, 10]
Вложенные списковые включения
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] flattened = [num for row in matrix for num in row] print(flattened) # вывод: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Альтернативы списковым включениям
Хотя списковые включения являются удобным инструментом, иногда их использование может усложнить чтение кода. В таких случаях следует использовать обычные циклы или другие функциональные возможности Python, такие как функция map()
и filter()
.
Пример с использованием цикла for
squares = [] for x in range(1, 6): squares.append(x ** 2) print(squares) # вывод: [1, 4, 9, 16, 25]
Пример с использованием функции map()
squares = list(map(lambda x: x ** 2, range(1, 6))) print(squares) # вывод: [1, 4, 9, 16, 25]
👉 В заключение, списковые включения являются мощным и удобным синтаксическим сахаром для создания списков в Python. Они делают код более кратким и выразительным, но важно помнить об альтернативах и использовать их, когда это облегчает чтение кода.
Добавить комментарий