ÎncepețiÎncepe gratuit

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

Vezi cursul

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 0 la 4 folosind range(). Folosește col ca 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 la 0 la 4. Folosește row ca 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)
Editează și rulează codul