и посмотреть медиа
Pythonist's Library: Python Django Flask
и посмотреть медиа
Everything useful for Python developers: Django, Flask and libraries.
Everything useful for Python developers: Django, Flask and libraries.
Comprehensive channel for Pythonists. Contains selections of libraries, guides on Django and Flask, code examples and tips. Everything most needed in one place for efficient work and learning web development in Python.
🚀 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 = ['[email protected]', '[email protected]', '[email protected]'] 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 ] 👉 значение считается один раз и сразу используется в условии. 💬 Какой приём был для вас новым? 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!