Liste
Cosa sono le liste?
Sezione intitolata “Cosa sono le liste?”Una lista Python può ricordare una lista della spesa: contiene elementi in sequenza e puoi aggiungerli, rimuoverli o sostituirli.
Una lista è una raccolta ordinata di elementi. Può contenere valori di tipo diverso e può essere modificata dopo la creazione.
Creare una lista
Sezione intitolata “Creare una lista”Le liste si scrivono con le parentesi quadre [], con gli elementi separati da virgole:
frutta = ["mela", "banana", "ciliegia"]numeri = [1, 2, 3, 4, 5]mista = [1, "ciao", True, 3.14] # anche tipi diversi vanno benevuota = [] # lista senza elementiAccedere agli elementi
Sezione intitolata “Accedere agli elementi”Ogni elemento ha una posizione, chiamata indice, che parte da 0.
frutta = ["mela", "banana", "ciliegia"]print(frutta[0]) # mela: il primo elementoprint(frutta[1]) # banana: il secondoprint(frutta[-1]) # ciliegia: l'ultimo (conta dalla fine)print(frutta[-2]) # banana: il penultimoEstrarre una parte della lista (slicing)
Sezione intitolata “Estrarre una parte della lista (slicing)”Puoi estrarre una parte della lista indicando l’indice iniziale e quello finale:
numeri = [0, 1, 2, 3, 4, 5]print(numeri[1:4]) # [1, 2, 3]: dalla posizione 1 alla 3 (4 esclusa)print(numeri[:3]) # [0, 1, 2]: dall'inizio alla posizione 2print(numeri[3:]) # [3, 4, 5]: dalla posizione 3 alla fineprint(numeri[::-1]) # [5, 4, 3, 2, 1, 0]: la lista al contrarioModificare gli elementi
Sezione intitolata “Modificare gli elementi”A differenza delle tuple, le liste si possono modificare:
frutta = ["mela", "banana", "ciliegia"]frutta[1] = "kiwi" # sostituisce "banana" con "kiwi"print(frutta) # ['mela', 'kiwi', 'ciliegia']Aggiungere elementi
Sezione intitolata “Aggiungere elementi”Puoi aggiungere elementi in tre modi, a seconda della posizione e del numero di elementi:
frutta = ["mela", "banana"]
frutta.append("ciliegia") # aggiunge alla fineprint(frutta) # ['mela', 'banana', 'ciliegia']
frutta.insert(1, "kiwi") # inserisce nella posizione 1print(frutta) # ['mela', 'kiwi', 'banana', 'ciliegia']
altra = ["uva", "pesca"]frutta.extend(altra) # aggiunge tutti gli elementi di un'altra listaprint(frutta) # ['mela', 'kiwi', 'banana', 'ciliegia', 'uva', 'pesca']Rimuovere elementi
Sezione intitolata “Rimuovere elementi”Per rimuovere un elemento puoi indicare il valore oppure la posizione:
frutta = ["mela", "banana", "ciliegia", "banana"]
frutta.remove("banana") # rimuove la prima "banana" che trovaprint(frutta) # ['mela', 'ciliegia', 'banana']
frutta.pop() # rimuove e restituisce l'ultimo elementoprint(frutta) # ['mela', 'ciliegia']
frutta = ["mela", "banana", "ciliegia"]del frutta[1] # elimina l'elemento in posizione 1print(frutta) # ['mela', 'ciliegia']
frutta.clear() # svuota completamente la listaprint(frutta) # []Cercare e contare
Sezione intitolata “Cercare e contare”numeri = [1, 2, 3, 2, 4, 2]print(numeri.count(2)) # 3: quante volte compare il numero 2print(numeri.index(3)) # 2: in quale posizione si trova il numero 3print(len(numeri)) # 6: quanti elementi ha la listaOrdinare una lista
Sezione intitolata “Ordinare una lista”numeri = [3, 1, 4, 1, 5, 9, 2]
numeri.sort() # ordina la lista (modifica l'originale)print(numeri) # [1, 1, 2, 3, 4, 5, 9]
numeri.sort(reverse=True) # ordine decrescenteprint(numeri) # [9, 5, 4, 3, 2, 1, 1]
# sorted() non modifica l'originale, restituisce una nuova listaoriginale = [3, 1, 4, 1, 5]ordinata = sorted(originale)print(originale) # [3, 1, 4, 1, 5]: invariataprint(ordinata) # [1, 1, 3, 4, 5]: nuova lista ordinataCopiare una lista
Sezione intitolata “Copiare una lista”Se scrivi copia = originale, non ottieni una nuova lista: crei un secondo nome per la stessa lista. Per una copia separata usa .copy():
originale = [1, 2, 3]copia = originale.copy() # copia vera e propriacopia.append(4)
print(originale) # [1, 2, 3]: non cambiataprint(copia) # [1, 2, 3, 4]: modificataListe di liste
Sezione intitolata “Liste di liste”Le liste possono contenere altre liste, una forma utile per rappresentare griglie e tabelle:
matrice = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]]print(matrice[1][2]) # 6: seconda riga, terza colonna