Transposition matrice en python

voix
0

Je commence mon aventure avec python et je ne peux pas envelopper la tête autour de la tâche m'a donné mon professeur.

Développer le script Python qui transposent donné matrice MxN. Tous les éléments de la matrice doivent être générés de façon aléatoire à l'aide du module instruction randint aléatoire.

Puis-je compter sur votre aide?

Merci!

Créé 13/01/2020 à 21:59
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Ça va être un peu difficile sans utiliser les numpyfonctions. Je vous suggère de le vérifier, il vous permettra d' économiser beaucoup de temps.

Pour l'instant, vous pouvez faire quelque chose comme ceci:

import random
random.seed(1)

M = 5
N = 3

# create a N X M matrix
l = [[random.randint(1, 10) for _ in range(M)] for j in range(N)]

print(l)

[[3, 10, 2, 5, 2], [8, 8, 8, 7, 4], [2, 8, 1, 7, 7]]

# transpose (M X N matrix)
c = 0
mai = []
for i in range(M):
    x = []
    for j in range(N):
        x.append(l[j][c])
    c += 1
    mai.append(x)

print(mai)

[[3, 8, 2], [10, 8, 8], [2, 8, 1], [5, 7, 7], [2, 4, 7]]

Pour transposer, vous pouvez aussi faire [*zip(*l)]comme suggéré par @Heap dans les commentaires.

Créé 13/01/2020 à 22:14
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more