TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.4K subscribers
Post #7727 2.5K
🚀 List comprehensions знают все. Но используют их максимум на 20% возможностей

Вот приёмы, которые реально стоит добавить в свой арсенал 👇

1️⃣ Условие не только в конце

Обычно comprehension используют как фильтр, но if может стоять и в начале — тогда это уже замена значения:


# фильтр — оставляем только чётные
[x for x in nums if x % 2 == 0]

# замена — нечётные превращаем в 0
[x if x % 2 == 0 else 0 for x in nums]


📌 Разница только в позиции if, но смысл полностью меняется.

2️⃣ Flatten — развернуть список списков


matrix = [[1,2,3],[4,5,6],[7,8,9]]

flat = [x for row in matrix for x in row]


👉 читается как обычный цикл: «для каждой строки → для каждого элемента»

3️⃣ Dict и set comprehensions


# инверсия словаря
d = {'a': 1, 'b': 2}
inv = {v: k for k, v in d.items()}

# уникальные домены
emails = ['a@gmail.com', 'b@yandex.ru', 'c@gmail.com']
domains = {e.split('@')[1] for e in emails}


4️⃣ Генератор вместо списка (когда данных много)


# список — всё в памяти
total = sum([x**2 for x in range(10_000_000)])

# генератор — ленивые вычисления
total = sum(x**2 for x in range(10_000_000))


⚡ Вторая версия экономит память в разы — критично для больших данных.

5️⃣ Walrus-оператор := внутри comprehension


results = [
y for x in data
if (y := heavy_function(x)) > 0
]


👉 значение считается один раз и сразу используется в условии.

💬 Какой приём был для вас новым?

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст
  • ❤ 13
  • 👍 6
More from @pyproglib
  1. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  2. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
  5. Sep 14, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →