Wie transponiere ich eine Matrix in Python mit Zip und dem *-Operator?

DDD
Freigeben: 2024-10-19 09:02:30
Original
672 Leute haben es durchsucht

How to Transpose a Matrix in Python Using Zip and the * Operator?

Transponieren einer Matrix in Python

Das Transponieren einer Matrix beinhaltet das Vertauschen der Zeilen und Spalten, was zu einer neuen Matrix führt, in der das j-te Element in der Die i-te Zeile wird zum i-ten Element in der j-ten Zeile. Wenn Sie beispielsweise die folgende 2x3-Matrix transponieren:

A=[[1, 2, 3],
   [4, 5, 6]]
Nach dem Login kopieren

erzeugt die transponierte Matrix:

[[1, 4],
[2, 5],
[3, 6]]
Nach dem Login kopieren

Verwenden von Zip mit *

Ein effizienter Eine Möglichkeit, eine Matrix in Python zu transponieren, besteht darin, die Funktion zip() in Verbindung mit dem *-Operator zu verwenden:

<code class="python">def transpose(matrix):
  return zip(*matrix)</code>
Nach dem Login kopieren

Dieser Ansatz iteriert über die Spalten der Eingabematrix und erzeugt Tupel, die die Zeilen der Transponierten darstellen Matrix. Wenn eine Liste von Listen als Ausgabe gewünscht wird, kann Folgendes verwendet werden:

<code class="python">def transpose(matrix):
  return [list(x) for x in zip(*matrix)]</code>
Nach dem Login kopieren

Alternativ kann man die Funktion map() zusammen mit dem Listenkonstruktor anwenden:

<code class="python">def transpose(matrix):
  return map(list, zip(*matrix))</code>
Nach dem Login kopieren

Diese Methoden tauschen effektiv die Indizes der Eingabematrix aus, was zu einer transponierten Matrix führt, die die gewünschten Kriterien erfüllt.

Das obige ist der detaillierte Inhalt vonWie transponiere ich eine Matrix in Python mit Zip und dem *-Operator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!