Почему list.append() быстрее и правильнее, чем +=? Многие пишут так: result = [] for x in data: result += [x] Работает. Но это не лучший вариант. Правильнее так 👇 result = [] for x in data: result.append(x) В чём разница? append() добавляет элемент на место, без создания нового списка. += фактически делает расширение списка (аналог extend()), а если написать так: result = result + [x] то создаётся новый список на каждой итерации. Почему это важно? В циклах разница становится заметной. # медленн...
Постоянный репозиторий по Python
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20🐍 Изменяемые аргументы по умолчанию – тихий источник багов На первый взгляд код выглядит нормально: def add_item(item, items=[]): items.append(item) return items Проверяем: print(add_item(1)) # [1] print(add_item(2)) # [1, 2] Почему список не обнуляется? В чём проблема? Аргументы по умолчанию в Python создаются один раз, в момент определения функции, а не при каждом вызове. То есть items=[] – это один и тот же список в памяти, который используется повторно. Что происходит под капотом? Когда Pyt...
Женский алгоритм & Мужская логика — баланс интуиции и расчёта, который даёт результат! С 09.02 по 10.03 дарим -25% на программы по ИБ, ИТ и КРЭБ: 🔹КРЭБ ▫️Проверка контрагентов и выявление рисков ▫️Повышение квалификации в рамках дополнительной профессиональной образовательной программы "Экономическая безопасность бизнеса" ▫️High-Tech OSINT: инструментарий эксперта ▫️Комплексная программа «Кадровая безопасность компании» 🔹ИТ ▫️Управление ИТ-проектами на основе PRINCE2 ▫️ALTADM1.Администрировани...
🐍 Почему apply() в pandas почти всегда можно заменить (и ускорить код) Многие, кто начинает работать с pandas, пишут так: import pandas as pd df = pd.DataFrame({ "price": [100, 200, 300], "quantity": [1, 2, 3] }) # Хотим посчитать выручку df["revenue"] = df.apply( lambda row: row["price"] row["quantity"], # берём строку axis=1 # применяем к каждой строке ) print(df) Работает. Но это медленно и не по-питоновски для pandas. В чём проблема? apply(axis=1): • проходит по строкам в Python-цикле • лом...