Programme Python pour transposer une matrice

Dans cet exemple, vous apprendrez à transposer une matrice (qui est créée à l'aide d'une liste imbriquée).

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation Python suivants:

  • Python pour Loop
  • Liste Python

En Python, nous pouvons implémenter une matrice sous forme de liste imbriquée (liste dans une liste). Nous pouvons traiter chaque élément comme une ligne de la matrice.

Par exemple X = ((1, 2), (4, 5), (3, 6))représenterait une matrice 3x2. La première ligne peut être sélectionnée comme X(0). Et, l'élément de la première colonne de la première ligne peut être sélectionné comme X(0)(0).

La transposition d'une matrice est l'échange de lignes et de colonnes. Il est noté X '. L'élément à la ième ligne et à la jème colonne dans X sera placé à la jème ligne et à la ième colonne dans X '. Donc, si X est une matrice 3x2, X 'sera une matrice 2x3.

Voici quelques façons d'accomplir cela en Python.

Transposition de matrice à l'aide d'une boucle imbriquée

 # Program to transpose a matrix using a nested loop X = ((12,7), (4 ,5), (3 ,8)) result = ((0,0,0), (0,0,0)) # iterate through rows for i in range(len(X)): # iterate through columns for j in range(len(X(0))): result(j)(i) = X(i)(j) for r in result: print(r) 

Production

 (12, 4, 3) (7, 5, 8) 

Dans ce programme, nous avons utilisé des forboucles imbriquées pour parcourir chaque ligne et chaque colonne. À chaque point, nous plaçons l'élément X (i) (j) dans le résultat (j) (i).

Transposition matricielle à l'aide de la compréhension de liste imbriquée

 ''' Program to transpose a matrix using list comprehension''' X = ((12,7), (4 ,5), (3 ,8)) result = ((X(j)(i) for j in range(len(X))) for i in range(len(X(0)))) for r in result: print(r)

La sortie de ce programme est la même que ci-dessus. Nous avons utilisé la compréhension de liste imbriquée pour parcourir chaque élément de la matrice.

Articles intéressants...