Maison >développement back-end >Tutoriel Python >Comment transposer efficacement des matrices en Python ?

Comment transposer efficacement des matrices en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 09:05:29529parcourir

How to Efficiently Transpose Matrices in Python?

Transposer des matrices en Python

Transposer une matrice implique d'interchanger ses lignes et ses colonnes, en la retournant efficacement autour de sa diagonale. En Python, cette tâche peut être accomplie efficacement en utilisant diverses approches.

Une méthode courante utilise la fonction zip, qui peut combiner plusieurs itérables en un seul itérable de tuples. En associant les éléments dans chaque tuple, nous pouvons facilement réorganiser la matrice :

<code class="python">A = [[1, 2, 3], [4, 5, 6]]
zipped_matrix = zip(*A)
print(list(zipped_matrix))
# Output: [(1, 4), (2, 5), (3, 6)]</code>

Pour obtenir une matrice transposée sous forme de liste de listes, nous pouvons traiter davantage l'itérable zippé :

<code class="python">transposed_matrix = list(zip(*A))
print(transposed_matrix)
# Output: [[1, 4], [2, 5], [3, 6]]</code>

Alternativement, nous pouvons utiliser la fonction map pour convertir chaque tuple de l'itérable zippé en une liste :

<code class="python">from functools import partial

map_transposed_matrix = partial(map, list)
zipped_matrix = zip(*A)
transposed_matrix = map_transposed_matrix(zipped_matrix)
print(list(transposed_matrix))
# Output: [[1, 4], [2, 5], [3, 6]]</code>

Ces techniques permettent une transposition efficace des matrices en Python, permettant une manipulation et une analyse flexibles des données.

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