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
DDDoriginal
2024-10-19 09:02:30766parcourir

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]]

produit la matrice transposée :

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

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>

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>

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

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

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!

Déclaration:
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