Comprensioni di liste annidate
Fantastico! A questo punto, hai una buona comprensione della sintassi di base delle comprensioni di lista. Mettiamo alla prova le tue abilità di programmazione. In questo esercizio scriverai una comprensione di lista dentro un'altra comprensione di lista, o comprensione di lista nidificata. Sembra un po' complicato, ma ce la puoi fare!
Lasciamo stare per un attimo le stringhe. Uno dei modi in cui si possono usare le liste è per rappresentare oggetti multidimensionali come le matrici. Le matrici possono essere rappresentate come una lista di liste in Python. Per esempio, una matrice 5 x 5 con valori da 0 a 4 in ogni riga può essere scritta come:
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]]
Il tuo compito è ricreare questa matrice usando comprensione elencate annidate. Ricorda che puoi creare una delle righe della matrice con una singola comprensione di lista. Per creare l'elenco degli elenchi, basta inserire la comprensione dell'elenco come espressione di output della comprensione dell'elenco complessivo:
[[output expression] for iterator variable in iterable]
Tieni presente che qui l'espressione di output è di per sé una comprensione di lista.
Questo esercizio fa parte del corso
Strumenti per Python
Istruzioni dell'esercizio
- Nella comprensione della lista interna, cioè l'espressione di output della comprensione della lista annidata, crea una lista di valori da
0a4usandorange(). Usacolcome variabile iteratore. - Nella parte iterabile della tua comprensione di lista nidificata, usa
range()per contare 5 righe, cioè crea una lista di valori da0a4. Usarowcome variabile iteratore; tieni presente che non ti servirà questa variabile per creare valori nell'elenco di elenchi.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)