Liste comprehensive imbricate
Excelent! Până acum ai înțeles bine sintaxa de bază a listelor comprehensive. Hai să ducem abilitățile tale de programare un pas mai departe. În acest exercițiu vei scrie o listă comprehensivă în interiorul altei liste comprehensive – adică liste comprehensive imbricate. Sună puțin complicat, dar cu siguranță poți face asta!
Să lăsăm pentru moment șirurile de caractere deoparte. Listele pot fi folosite, printre altele, pentru a reprezenta obiecte multidimensionale, precum matricele. În Python, o matrice poate fi reprezentată ca o listă de liste. De exemplu, o matrice de 5 x 5 cu valorile 0 până la 4 pe fiecare rând poate fi scrisă astfel:
matrix = [[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]]
Sarcina ta este să recreezi această matrice folosind liste comprehensive imbricate. Reține că poți crea unul dintre rândurile matricei cu o singură listă comprehensivă. Pentru a crea lista de liste, trebuie pur și simplu să furnizezi lista comprehensivă drept expresie de ieșire a listei comprehensive generale:
[[expresie de ieșire] for variabilă iterator in iterabil]
Observă că în acest caz, expresia de ieșire este ea însăși o listă comprehensivă.
Acest exercițiu face parte din cursul
Cutia cu instrumente Python
Instrucțiuni pentru exercițiu
- În lista comprehensivă interioară – adică în expresia de ieșire a listei comprehensive imbricate – creează o listă cu valorile de la
0la4folosindrange(). Foloseștecolca variabilă iterator. - În partea iterabilă a listei comprehensive imbricate, folosește
range()pentru a număra 5 rânduri – adică creează o listă cu valorile de la0la4. Foloseșterowca variabilă iterator; reține că nu vei avea nevoie de această variabilă pentru a genera valorile din lista de liste.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)