Двумерный массив. Проблема в заполнение
Давно не пользовался Питоном. Сейчас он мне нужен позарез, а я не могу даже массив заполнить двумерный. Вроде проанализировал всё и пытался оформить иначе, но всё без толку. Дело в том, что при добавление в главный массив побочные, предыдущие строчки заменяются ту, что добавилась в данный момент, и в конце концов все подмассивы превращаются в тот, который добавляется в данный момент. В чём причина и где я ошибся?
A=[]
sp=[]
N=int(input("Введите размер массива NxN = "))
for i in range(N):
sp.clear()
for j in range(N):
print("Введите элемент массива a[",i+1,"][",j+1,"] = ")
new = int(input())
sp.append(new)
A.append(sp)
print(A)
Работа программы:
Введите размер массива NxN = 3
Введите элемент массива a[ 1 ][ 1 ] =
1
Введите элемент массива a[ 1 ][ 2 ] =
2
Введите элемент массива a[ 1 ][ 3 ] =
3
Введите элемент массива a[ 2 ][ 1 ] =
4
Введите элемент массива a[ 2 ][ 2 ] =
5
Введите элемент массива a[ 2 ][ 3 ] =
6
Введите элемент массива a[ 3 ][ 1 ] =
7
Введите элемент массива a[ 3 ][ 2 ] =
8
Введите элемент массива a[ 3 ][ 3 ] =
9
[[7, 8, 9], [7, 8, 9], [7, 8, 9]]
Источник: Stack Overflow на русском