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

Пост🐍 Хитрая ловушка в Python, на которую попадаются даже опытные

10 декабря 2025
P
Python tests
🐍 Хитрая ловушка в Python, на которую попадаются даже опытные matrix = [[0] * 3] * 3 matrix[0][0] = 1 matrix[1].append(9) print(matrix) print(len(matrix)) print(len(matrix[0])) Интуитивно кажется, что это создаёт независимые строки матрицы. Но на самом деле Python копирует ссылки - все три строки указывают на один и тот же список. 🔍 Поэтому изменение matrix[0][0] или append() влияет сразу на все строки. 🧠 Вывод программы: [[1, 0, 0, 9], [1, 0, 0, 9], [1, 0, 0, 9]] 3 4 ✔️ Как правильно создавать матрицу с независимыми строками: matrix = [[0] * 3 for _ in range(3)] Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
4 · 1.4K ·

Рядом в ленте

PPython testsВопрос с собеседования Что выведет этот код и почему? a = [1, 2, 3] b = a a += [4, 5] print(a) print(b) a = (1, 2, 3) b = a a += (4, 5) print(a) print(b) ПопробPPython testsФотография
это сообщение
PPython testsЧто выведет код ? Пишите ответ в комментарияхPPython testsФотография

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

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