La lista nidificata in Python

Nel linguaggio Python posso costruire anche liste nidificate. Cos'è una lista nidificata? Si tratta di una lista situata all'interno di un'altra lista. E' anche detta lista annidata.

Un esempio pratico

[ 1, 2, 3, ["a", "b", "c"] ]

La ricerca in una lista nidificata

La ricerca in una lista nidificata è limitata soltanto agli elementi del primo livello, non è una ricerca in profondità.

Esempio

In questa lista è presente una lista nidificata.

lista1=[ 1, 2, 3, ["a", "b", "c"] ]

Se cercassi l'elemento "a" con l'istruzione index

lista1.index("a")

il comando non lo troverebbe perché il valore "a" si trova in una lista nidificata ( lista di 2° livello ).

Viceversa, se digitassi.

lista1.index(3)

La ricerca dell'elemento 3 avrebbe esito positivo

2

Il numero 3 è si trova nella lista di 1° livello. E' il terzo elemento ( posizione 2 ).

Come creare una matrice con le liste nidificate

La lista nidificata è molto utile per creare le matrici nel linguaggio Python.

Esempio pratico

Utilizzo la list comprehension del linguaggio per creare una matrice identità.

n=5
matrice=[[(1 if x == y else 0)
indentaturafor x in range(n)] for y in range(n)]

Il comando crea una matrice identità, ossia una matrice composta da una diagonale con il valore uno e tutti gli altri elementi uguali a zero.

[ [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]

Gli elementi della lista di 1° livello identificano le righe della matrice.

Gli elementi della lista di 2° livello ( lista nidificata ) identificano le colonne della matrice.

Se stampassi a video la lista, il risultato finale sarebbe il seguente:

[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1] ]

Ossia una matrice identità

[1, 0, 0, 0, 0]
[0, 1, 0, 0, 0]
[0, 0, 1, 0, 0]
[0, 0, 0, 1, 0]
[0, 0, 0, 0, 1]

In questo modo ho creato la matrice identità con Python.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le liste su Python

  1. Cos'è una lista
  2. Come estrarre elementi
  3. Come eliminare elementi
  4. Come aggiungere elementi
  5. Come contare le occorrenze in una lista
  6. Come cercare un elemento nella lista
  7. Come ordinare una lista
  8. Come invertire le posizioni della lista
  9. Come usare la list comprehension
  10. Come fare una lista nidificata
  11. Come convertire una tupla in lista