Omzetting matrix python

stemmen
0

Ik ben net begonnen mijn avontuur met python en ik kan niet sla mijn hoofd om de taak die ik kreeg van mijn leraar.

Ontwikkel de Python-script dat transponeerparameter gegeven matrix MxN. Alle elementen van de matrix moeten willekeurig worden gegenereerd met behulp randint instructie van willekeurige module.

Kan ik rekenen op uw hulp?

Bedankt!

De vraag is gesteld op 13/01/2020 om 23:59
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Het gaat een beetje lastig zonder gebruik te zijn numpyfuncties. Ik zou je aanraden om het te controleren, het bespaart u een hoop tijd.

Voor nu, kun je zoiets als dit te doen:

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

Voor transponeren, kunt u ook doen [*zip(*l)], zoals voorgesteld door @Heap in reacties.

antwoordde op 14/01/2020 om 00:14
bron van user

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