TGViewer
Python tests Python tests @python_testit · 6.9K subscribers
Post #1223 1.39K
🐍 Хитрая ловушка в 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)]


Теперь каждая строка - отдельный список, и изменения не “протекают” по всей матрице.
More from @python_testit
  1. Sep 6, 2026🐍 Python считает эти даты равными. Хотя между ними целый час В ночь перевода часов время…
  2. Aug 14, 2026Post #1269
  3. Aug 14, 2026photo post
  4. Aug 14, 2026🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы. Ste…
  5. Jul 22, 2026Post #1266
  6. Jul 22, 2026photo post
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 →