Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine 2D-Matrix in Python effizient transponieren?

Wie kann ich eine 2D-Matrix in Python effizient transponieren?

Susan Sarandon
Freigeben: 2024-12-22 06:51:09
Original
337 Leute haben es durchsucht

How Can I Efficiently Transpose a 2D Matrix in Python?

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:

  • Sie erstellen eine neue transponierte Matrix mit der richtigen Höhe, aber einer falschen Breite. Es sollte [None] * len(anArray) anstelle von [None] * len(anArray[0]) sein.
  • Sie überschreiben die Werte in transposed[t] in jeder Iteration. Um eine neue Spalte zu erstellen, müssen Sie den Wert in transposed[t] an die vorhandene Liste anhängen.

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
Nach dem Login kopieren

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))
Nach dem Login kopieren

Für Python 3 verwenden Sie lieber den *-Operator, um die Tupel zu entpacken und eine Liste von Listen zu erstellen:

transposed = [*zip(*anArray)]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage