Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine 2D-Matrix in Python effizient transponieren?
Matrixtransposition in Python
Bei der Matrixtransposition werden die Zeilen und Spalten einer Matrix umgedreht, um eine neue Matrix mit umgekehrten Originalabmessungen zu erstellen. Betrachten wir, wie man eine Python-Funktion entwickelt, um eine 2D-Matrix zu transponieren.
Sie haben eine Python-Funktion bereitgestellt, aber sie funktioniert nicht richtig. Lassen Sie uns Ihren Code untersuchen und die Fehler identifizieren. In Ihrer Funktion:
Hier ist eine korrigierte Version Ihrer Funktion:
def matrixTranspose(anArray): transposed = [[] for _ in range(len(anArray))] for t in range(len(anArray)): for tt in range(len(anArray[t])): transposed[tt].append(anArray[t][tt]) return transposed
Noch eine Prägnante Version Die Lösung besteht aus der in Python integrierten Zip-Funktion, die entsprechende Elemente aus mehreren Iterables kombiniert. Es transponiert die Matrix, indem es Tupel aus den Spalten erstellt und diese dann wieder in Listen umwandelt:
transposed = list(zip(*anArray))
Für Python 3 verwenden Sie lieber den *-Operator, um die Tupel zu entpacken und eine Liste von Listen zu erstellen:
transposed = [*zip(*anArray)]
Diese Methoden transponieren effizient eine 2D-Matrix in Python.
Das obige ist der detaillierte Inhalt vonWie kann ich eine 2D-Matrix in Python effizient transponieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!