web-dev-qa-db-fra.com

Comment représenter les matrices dans python

Comment représenter des matrices en python?

24
Bunny Rabbit

Jetez un oeil à cette réponse :

from numpy import matrix
from numpy import linalg
A = matrix( [[1,2,3],[11,12,13],[21,22,23]]) # Creates a matrix.
x = matrix( [[1],[2],[3]] )                  # Creates a matrix (like a column vector).
y = matrix( [[1,2,3]] )                      # Creates a matrix (like a row vector).
print A.T                                    # Transpose of A.
print A*x                                    # Matrix multiplication of A and x.
print A.I                                    # Inverse of A.
print linalg.solve(A, x)     # Solve the linear equation system.
44
György Andrasek

Python n'a pas de matrices. Vous pouvez utiliser une liste de listes ou NumPy

11
Ed.

Si vous n'utilisez pas la bibliothèque NumPy, vous pouvez utiliser la liste imbriquée. Il s'agit de code pour implémenter la liste imbriquée dynamique (listes bidimensionnelles).

Soit r est le nombre de lignes

let r=3

m=[]
for i in range(r):
    m.append([int(x) for x in raw_input().split()])

Chaque fois que vous pouvez ajouter une ligne à l'aide de

m.append([int(x) for x in raw_input().split()])

Ci-dessus, vous devez entrer la matrice par ligne. Pour insérer une colonne:

for i in m:
    i.append(x) # x is the value to be added in column

Pour imprimer la matrice:

print m       # all in single row

for i in m:
    print i   # each row in a different line
4
Gautam Seth
((1,2,3,4),
 (5,6,7,8),
 (9,0,1,2))

L'utilisation de tuples au lieu de listes complique légèrement la modification de la structure des données de manière indésirable.

Si vous allez en faire un usage intensif, il vaut mieux envelopper un true number array dans une classe, afin que vous puissiez définir des méthodes et des propriétés dessus. (Ou, vous pouvez NumPy, SciPy, ... si vous voulez faire votre traitement avec ces bibliothèques.)

2
badp