2017-01-20 5 views
-2

Ich versuche, ([[1,2]]) zu transponieren und [[1], [2]] als Ergebnis zurückzugeben, bekomme aber nur [[1]] in Rückkehr. Irgendwelche Ideen?Funktion gibt keine korrekte Ausgabe zurück

+1

Warum gehst du nicht debuggen und sehen nur len(matrix) Teil? Wenn Sie die Ausführung mit einem Debugger oder sogar mit Stift und Papier durchgehen, können Sie leicht sagen, warum. – Li357

+0

Nun, das Problem ist, dass es beim Transponieren funktioniert ([[1,2,3], [4,5,6], [7,8,9]]) oder transponieren ([[1]]). Ich frage mich, ob es eine einfache Lösung war oder ob es neu strukturiert werden muss. –

+2

Nun, wenn es nicht komplett funktioniert, wahrscheinlich ja. Aber zuerst, * finde heraus, was falsch ist *. – Li357

Antwort

0

Für einfache Lösung, ändern len(matrix[0])

def transpose(matrix): 
     n=0 
     finalList = [] 
     while n < (len(matrix[0])): 
      li = [] 
      for sets in matrix: 
       li.append(sets[n]) 
      finalList.append(li) 
      n += 1 
     return finalList 
Verwandte Themen