Maison > développement back-end > Tutoriel Python > Comment transposer une matrice en Python à l'aide de Zip et de l'opérateur * ?

Comment transposer une matrice en Python à l'aide de Zip et de l'opérateur * ?

DDD
Libérer: 2024-10-19 09:02:30
original
767 Les gens l'ont consulté

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

Transposer une matrice en Python

La transposition d'une matrice implique de changer les lignes et les colonnes, ce qui donne une nouvelle matrice où le jème élément du La ième ligne devient le ième élément de la jième rangée. Par exemple, transposer la matrice 2x3 suivante :

A=[[1, 2, 3],
   [4, 5, 6]]
Copier après la connexion

produit la matrice transposée :

[[1, 4],
[2, 5],
[3, 6]]
Copier après la connexion

Utiliser Zip avec *

Un outil efficace Une façon de transposer une matrice en Python est d'utiliser la fonction zip() en conjonction avec l'opérateur * :

<code class="python">def transpose(matrix):
  return zip(*matrix)</code>
Copier après la connexion

Cette approche parcourt les colonnes de la matrice d'entrée et produit des tuples représentant les lignes de la matrice transposée. matrice. Si une liste de listes est souhaitée en sortie, les éléments suivants peuvent être utilisés :

<code class="python">def transpose(matrix):
  return [list(x) for x in zip(*matrix)]</code>
Copier après la connexion

Alternativement, on peut appliquer la fonction map() avec le constructeur de liste :

<code class="python">def transpose(matrix):
  return map(list, zip(*matrix))</code>
Copier après la connexion

Ces méthodes commutent efficacement les indices de la matrice d'entrée, ce qui donne une matrice transposée qui répond aux critères souhaités.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal