Transpondo matriz em python

votos
0

Estou apenas começando minha aventura com python e eu não posso envolver minha cabeça em torno da tarefa que me foi dado pelo meu professor.

Desenvolver o script Python que transpõem dada matriz MXN. Todos os elementos da matriz deve ser gerado aleatoriamente usando instruções randint do módulo aleatório.

Posso contar com sua ajuda?

Obrigado!

Publicado 13/01/2020 em 23:59
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Vai ser um pouco complicado sem usar numpyfunções. Eu sugiro que você para verificá-la, ela vai lhe poupar muito tempo.

Por enquanto, você pode fazer algo como isto:

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

Para transposição, você também pode fazer [*zip(*l)]como sugerido por @Heap nos comentários.

Respondeu 14/01/2020 em 00:14
fonte usuário

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