List Comprehensions — это мощный инструмент в Python, который позволяет создавать списки простым и читаемым способом. Используя List Comprehensions, вы можете избавиться от громоздких циклов
for и сделать код более компактным.Основной синтаксис List Comprehensions выглядит так:
[выражение for элемент in итерируемый_объект]
Где
выражение определяет, что будет добавлено в новый список, а элемент перебирает каждый элемент в итерируемый_объект.Простой пример:
Создадим список квадратов чисел от 1 до 5:
squares = [x**2 for x in range(1, 6)]
print(squares) # Результат: [1, 4, 9, 16, 25]
Пример с условием:
Теперь создадим список из чисел от 1 до 5, но включим только четные числа:
even_numbers = [x for x in range(1, 6) if x % 2 == 0]
print(even_numbers) # Результат: [2, 4]
Вложенные циклы:
Создадим матрицу 3x3 из чисел от 1 до 3:
matrix = [[x for x in range(1, 4)] for y in range(1, 4)]
print(matrix) # Результат: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
Пример с условием и вложенными циклами:
Предположим, у нас есть список словарей, и мы хотим извлечь все дни рождения:
people = [
{"first_name": "Василий", "last_name": "Марков", "birthday": "9/25/1984"},
{"first_name": "Регина", "last_name": "Павленко", "birthday": "8/21/1995"}
]
birthdays = [person["birthday"] for person in people if "birthday" in person]
print(birthdays) # Результат: ['9/25/1984', '8/21/1995']
Используя List Comprehensions, вы можете значительно сократить объем кода и сделать его более читаемым. Это особенно полезно для создания списков из данных, применения условий и работы с многомерными структурами данных.
#советы