⚡ Магия одной строки: 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
Просмотры: 7 860
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти