⚡ Магия одной строки: List Comprehension Вы всё еще пишете циклы для заполнения списков вот так?
Вы всё еще пишете циклы для заполнения списков вот так?
squares = []
for x in range(10):
squares.append(x ** 2)
Это работает, но это "старая школа". В Python есть способ сделать это элегантнее, быстрее и понятнее - Списковые включения.
Как это выглядит:
[выражение for элемент in список]
Тот же самый код выше превращается в:
squares = [x ** 2 for x in range(10)]
🚀 Почему это круто?
1. Лаконичность: Меньше кода меньше багов.
2. Скорость: Это работает быстрее обычного цикла for, потому что метод .append() не вызывается на каждой итерации (оптимизация на уровне C).
Уровень PRO: Добавляем условия. Внутри можно использовать if, чтобы фильтровать данные на лету.
Задача: Оставить только четные числа и умножить их на 10.
numbers = [1, 2, 3, 4, 5, 6]
# Читается как английское предложение:
# "x умножить на 10 для каждого x в numbers, если x четный"
result = [x * 10 for x in numbers if x % 2 == 0]
print(result)
# [20, 40, 60]
💡 Совет: Не увлекайтесь! Если ваше выражение не влезает в одну строку или становится слишком сложным (например, вложенные циклы), лучше вернитесь к старому доброму for. Читаемость важнее понтов!
Часто используете эту конструкцию? Ставьте 🔥!
Подписывайтесь на канал 👉 @python_of