Wpis z mikrobloga

Kolejne glupie pytanie, wczesniej nie spotkalem sie z petlami zapisanymi w wyrazeniu tego typu, a chce aby mój móżdżek mógł to sobie wyobrazic, zwizualizowac co, jak, w jakiej kolejnosci, abym mogl używać takiego zapisu samemu

tranpose = [[lista[j][i] for i in range(n)] for j in range(n)]

założmy że nasza lista to
lista = [[1,2,3],[4,5,6],[7,8,9]]

ŁOPATOLOGICZNIE PROSZE

która petla sie tam kreci pierwsza? tu nie ma wciecia, nie ma dwukropka, pierw leci pętla z "j" czy "i"?
Z tego co ja rozumiem to pierw petla "i", nastepnie "j" przeskakuje +1 i potem znowu "i" i itd,
czyli pierwsze wykonuje się to co jest pierwszym nawiasie, potem poza nawiasem
czy mam racje?
#python #naukaprogramowania #informatyka
  • 7
@MilionoweMultikonto: bo placi wiecej i jest latwiejszy dla poczatkujacych ( ͡° ͜ʖ ͡°)

@Tooca_rev: od lewej do prawej

[ (i, j, l) for i in range(m) for j in range(n) for l in range(o) ]
Rownowazne:

for i in range(m):
for j in range(n):
for l in range(o)

Jako zadanie, napisz list comprehension ktore wyplaszczy to [ (1, 2), (3, 4), (4, 5) ] do [1,
@Tooca_rev: nie wiem czy ci to nie utrudni nauki ale...

Jeśli poświęcisz trochę wysiłku na zainstalowanie jakiegoś IDE z debugerem i rozkminisz jak go używać, to w nim powinno być przechodzenie krok po kroku przez elementy programu z jednoczesnym wyświetlaniem aktualnych wartości zmiennych.

Można się męczyć i tracić czas na próbę zrozumienia (rozpatrywanie wielu scenariuszy w głowie) albo po prostu puścić debuger i to zobaczyć. W pewnym momencie problem może być
źródło: comment_1644485721gpP00khTosBS1uv0GigNRS.jpg