Веб-версияОткрыть в Telegram

СообщениеУмножение контейнеров

13 мая 2023
P
Умножение контейнеров Один интересный факт из Python. Вы, наверное, знали, что для строк определен оператор умножения и что можно делать так: >>> 'привет ' * 4 'привет привет привет привет ' То же, вообще говоря, работает с другими контейнерами, например, с кортежами: >>> ('привет',) * 3 ('привет', 'привет', 'привет') И с этим все хорошо, пока внутри контейнера не появляется ссылка на изменяемый объект. Например, на словарь: >>> d = [{'key': 'val'}] * 2 >>> d [{'key': 'val'}, {'key': 'val'}] Потому что теперь каждый из двух словарей доступен по одной и той же ссылке: >>> d[0]['key'] = '' >>> d [{'key': ''}, {'key': ''}] Упс, отстрелили себе ногу. Умножение -- это валидный способ создавать составные объекты только если вложенные неизменяемы. 🐠
306 ·

Рядом в ленте

PPYTHON IN DEPTH🐍Timsort Для сортировки в CPython используется алгоритм Timsort, который его создатель Тим Петерс застенчиво назвал в честь себя😏. Timsort — это комбинация сортиPPYTHON IN DEPTH🐍Введение в множества Set' ы в Python реализованы так, что максимально напоминают математические множества. Давайте пройдемся по основным свойствам и возможностя
это сообщение
PPYTHON IN DEPTH🐍Гид по множественному присваиванию Уверена, что множественное присваивание в Python видели все. Выглядит оно вот так: >>> x, y, z = 1, 2, 3 >>> x 1 >>> z 3 На сPPYTHON IN DEPTH🐍Введение в декораторы В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а ещ
🐍🐍Python🪆🐍Python🪆@python_chat_ru · группа · Технологии
20участников39сообщений в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем