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

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

DDD
Lepaskan: 2024-10-19 09:02:30
asal
767 orang telah melayarinya

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]]
Salin selepas log masuk

menghasilkan matriks terpindah:

[[1, 4],
[2, 5],
[3, 6]]
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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

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

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!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan