2016-05-24 13 views
1

Ich bin Anfänger in Python. Ich versuche, ein 2d-Array (a) in ein anderes Array (b) zu kopieren, bekomme aber einen Fehler 'int-Objekt unterstützt keine Zuweisung'. Ich verstehe, dass möglicherweise andere Funktionen zum Kopieren verfügbar sind, aber hier versuche ich Python zu verstehen. Kann jemand bitte darauf hinweisen, was mit falschem Code falsch ist.Fehler beim Kopieren eines 2d-Arrays in ein anderes Array

a = [[1,2,3],[4,5,6],[7,8,9]] 
b = [] 
for row in a: 
    newrow = [0] * len(row) 
    b += newrow 


for i in range(len(a)): 
    for j in range(len(a[i])): 
     b[i][j] = a[i][j] 

Antwort

0

Ihr b ist eine 1-dimensionale Liste, weil Sie es anstelle von Anhängen erweitern. Ändern Sie die Zeile

b += newrow 

zu

b.append(newrow) 

Dass gesagt wird, könnte man leicht kopieren ein Array in ein anderes wie folgt aus:

a = [[1,2,3],[4,5,6],[7,8,9]] 
b = a[:] 

oder mit dem eingebauten in copy Modul:

import copy 
a = [[1,2,3],[4,5,6],[7,8,9]] 
b = copy.copy(a) 
+0

Dank @Sel Scheiße. Es funktionierte mit append. Ich benutze Sedgewicks Buch, um Python zu lernen. Seltsamerweise fehlt das Buch beim Anhängen in 2D-Array-Erklärung. – user2159471

Verwandte Themen