Heim >Backend-Entwicklung >Python-Tutorial >Wie transponiert man Matrizen effizient in Python?

Wie transponiert man Matrizen effizient in Python?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 09:05:29527Durchsuche

How to Efficiently Transpose Matrices in Python?

Transponieren von Matrizen in Python

Das Transponieren einer Matrix beinhaltet das Vertauschen ihrer Zeilen und Spalten, wodurch sie effektiv um ihre Diagonale gedreht wird. In Python kann diese Aufgabe mit verschiedenen Ansätzen effizient erledigt werden.

Eine gängige Methode nutzt die Zip-Funktion, die mehrere Iterables zu einem einzigen Iterable von Tupeln kombinieren kann. Durch die Paarung der Elemente in jedem Tupel können wir die Matrix leicht neu organisieren:

<code class="python">A = [[1, 2, 3], [4, 5, 6]]
zipped_matrix = zip(*A)
print(list(zipped_matrix))
# Output: [(1, 4), (2, 5), (3, 6)]</code>

Um eine transponierte Matrix als Liste von Listen zu erhalten, können wir die komprimierte Iterable weiterverarbeiten:

<code class="python">transposed_matrix = list(zip(*A))
print(transposed_matrix)
# Output: [[1, 4], [2, 5], [3, 6]]</code>

Alternativ können wir die Map-Funktion verwenden, um jedes Tupel im komprimierten Iterable in eine Liste umzuwandeln:

<code class="python">from functools import partial

map_transposed_matrix = partial(map, list)
zipped_matrix = zip(*A)
transposed_matrix = map_transposed_matrix(zipped_matrix)
print(list(transposed_matrix))
# Output: [[1, 4], [2, 5], [3, 6]]</code>

Diese Techniken ermöglichen eine effiziente Transponierung von Matrizen in Python und ermöglichen so eine flexible Datenbearbeitung und -analyse.

Das obige ist der detaillierte Inhalt vonWie transponiert man Matrizen effizient in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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