Corso di Python #11 liste nidificate (liste p.5)

Nona  parte del corso python




DATATYPES


Ecco i datatypes disponibili:
Numbers
Bool
List
Tuple
Strings
Set
Dictionary

LIST:  LISTE NIDIFICATE


Vediamo come creare delle liste nidificate, ovvero dele liste dentro ad altre liste:


lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"]
print(lista)
>>>'anna', ['bauule', 3], ['cane', 'cera'], [1, 2, 3, 4, 5], 'cuneo']

Adesso analizziamo con calma tutta struttura. Abbiamo quanto elementi di primo livello?


lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"]


contatore = 0

for a in lista:
    contatore += 1

print(contatore)
>>>5


Ci sono 5 elementi di primo livello, ovvero la prima lista contiene 5 elementi. Non importa che queste a loro volta contengano altri elementi, non vengono contati.



Estrapoliamo adesso il secondo elemento, a sua volta una lista:

lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"

print(lista[1])
>>>['bauule', 3]
Adesso vediamo come estrapolare solamente il secondo elemento / del secondo elemento:
lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"

print(lista[1][1])
>>>3
Adesso vediamo come estrapolare solamente la terza lettera del secondo elemento / del secondo elemento:
lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"

print(lista[1][0][2])
>>>u
Possiamo anche cercare un elemento a partire dalla fine, indicando un indice negativo:
lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"

print(lista[1][0][-2])
>>>l




LIST:  MODIFICARE LISTE

Possiamo attribuire ad un elemento con indice preciso uno specifico elemento, Ad esempio, vediamo se il valore [1][0] è "baule", e lo sostituiamo a "capanna".
lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"]
print(lista[1][0])
>>>bauule
lista[1][0] = "capanna"
print(lista[1][0])
>>>capanna



LIST:  REPLACE DI PORZIONI

lista = ["anna", ["bauule",3], ["cane", "cera"], [1,2,3,4,5] , "cuneo"]


lista[1:3] = [2,4,56,7]

print(lista)
>>>['anna', 2, 4, 56, 7, [1, 2, 3, 4, 5], 'cuneo']