Mein 1-D-Array wird korrekt importiert und korrekt angezeigt, meine Logik funktioniert auch, wenn ich es von Hand mache, also bin ich mir nicht sicher, was falsch ist . . Wenn ich jeden Wertes in dem 1-D-Array in die 2-D-Kopie wird in ein ungeradees Muster zu kopieren sowie das Setzen der falschen Werte tun1-D-Array in einem 2-D-Array führt zu falschen Array-Werten
Dies ist der 1-D-Array:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
Dies ist die folgende Ausgabe:
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
row: 0 col: 0
0
In loop... [[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
row: 0 col: 1
1
In loop... [[2, 0, 0, 0], [2, 0, 0, 0], [2, 0, 0, 0], [2, 0, 0, 0]]
row: 0 col: 2
2
In loop... [[3, 0, 0, 0], [3, 0, 0, 0], [3, 0, 0, 0], [3, 0, 0, 0]]
row: 0 col: 3
3
In loop... [[4, 0, 0, 0], [4, 0, 0, 0], [4, 0, 0, 0], [4, 0, 0, 0]]
row: 1 col: 0
4
In loop... [[4, 5, 0, 0], [4, 5, 0, 0], [4, 5, 0, 0], [4, 5, 0, 0]]
row: 1 col: 1
5
In loop... [[4, 6, 0, 0], [4, 6, 0, 0], [4, 6, 0, 0], [4, 6, 0, 0]]
row: 1 col: 2
6
In loop... [[4, 7, 0, 0], [4, 7, 0, 0], [4, 7, 0, 0], [4, 7, 0, 0]]
row: 1 col: 3
7
In loop... [[4, 8, 0, 0], [4, 8, 0, 0], [4, 8, 0, 0], [4, 8, 0, 0]]
row: 2 col: 0
8
In loop... [[4, 8, 9, 0], [4, 8, 9, 0], [4, 8, 9, 0], [4, 8, 9, 0]]
row: 2 col: 1
9
In loop... [[4, 8, 10, 0], [4, 8, 10, 0], [4, 8, 10, 0], [4, 8, 10, 0]]
row: 2 col: 2
10
In loop... [[4, 8, 11, 0], [4, 8, 11, 0], [4, 8, 11, 0], [4, 8, 11, 0]]
row: 2 col: 3
11
In loop... [[4, 8, 12, 0], [4, 8, 12, 0], [4, 8, 12, 0], [4, 8, 12, 0]]
row: 3 col: 0
12
In loop... [[4, 8, 12, 13], [4, 8, 12, 13], [4, 8, 12, 13], [4, 8, 12, 13]]
row: 3 col: 1
13
In loop... [[4, 8, 12, 14], [4, 8, 12, 14], [4, 8, 12, 14], [4, 8, 12, 14]]
row: 3 col: 2
14
In loop... [[4, 8, 12, 15], [4, 8, 12, 15], [4, 8, 12, 15], [4, 8, 12, 15]]
row: 3 col: 3
15
In loop... [[4, 8, 12, 16], [4, 8, 12, 16], [4, 8, 12, 16], [4, 8, 12, 16]]
Before return... [[4, 8, 12, 16], [4, 8, 12, 16], [4, 8, 12, 16], [4, 8, 12, 16]]
Hier ist der Funktionscode:
def makeTwoArr(array, height, width):
print(array)
newArray=[]
line=[0]*width
for i in range(height):
newArray.append(line)
location=0
print(newArray)
for row in range(height):
for col in range(width):
print("row: ",row," col: ",col);
print(location)
## #print(array[location])
newArray[col][row]=array[location]
## print(newArray)
location+=1
print("In loop...",newArray)
print("Before return...",newArray)
return newArray
beide, ich und mein Computer s Der Cience-Professor kann nicht herausfinden, warum die Werte falsch sind oder warum er bestimmte Stellen bei der falschen Iteration füllt.
Versuchen 'col' und' row' in 'newArray [col] [Zeile] = array [Ort]' tauschen. Ich denke, das sollte funktionieren. –
@VivekJain Ich denke nicht. – miradulo
Der Tausch wird benötigt, löst aber nicht das Geheimnis ....Die Zuweisung gilt irgendwie für alle Zeilen und die richtige Spalte. – roadrunner66