Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memindahkan Matriks dalam Python Menggunakan Zip dan Operator *?

Bagaimana untuk Memindahkan Matriks dalam Python Menggunakan Zip dan Operator *?

DDD
DDDasal
2024-10-19 09:02:30672semak imbas

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

Memindahkan Matriks dalam Python

Memindahkan matriks melibatkan penukaran baris dan lajur, menghasilkan matriks baharu di mana unsur ke-j dalam baris ith menjadi elemen ith dalam baris ke-j. Sebagai contoh, menukar matriks 2x3 berikut:

A=[[1, 2, 3],
   [4, 5, 6]]

menghasilkan matriks terpindah:

[[1, 4],
[2, 5],
[3, 6]]

Menggunakan Zip dengan *

Sebuah yang cekap cara untuk menukar matriks dalam Python adalah dengan menggunakan fungsi zip() bersama-sama dengan operator *:

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

Pendekatan ini berulang pada lajur matriks input dan menghasilkan tupel yang mewakili baris transpos matriks. Jika senarai senarai dikehendaki sebagai output, perkara berikut boleh digunakan:

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

Sebagai alternatif, seseorang boleh menggunakan fungsi map() bersama-sama dengan pembina senarai:

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

Kaedah ini secara berkesan menukar indeks matriks input, menghasilkan matriks alih yang memenuhi kriteria yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Memindahkan Matriks dalam Python Menggunakan Zip dan Operator *?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn