python liste strutture-dati

Le Liste in Python

Obiettivi della pillola

Alla fine di questa pillola saprai:

  • inizializzare liste ([], list()),
  • aggiungere/integrare elementi (append, insert, extend),
  • rimuovere elementi (remove, pop, clear),
  • scorrere e stampare i valori con cicli for.

Cos’è una lista

Una lista è una collezione ordinata e mutabile di elementi racchiusi tra [ ]. Può contenere numeri, stringhe o altre liste.

numeri = [1, 2, 3, 4, 5]
parole = ["ciao", "mondo", "python"]
mista  = [1, "testo", True, 3.14]

Inizializzazione di una lista

Puoi creare una lista vuota o già popolata.

vuota = []
altra_lista = list()  # equivalente

voti = [6, 7, 8, 9, 10]  # lista gia' piena

Aggiungere elementi

Metodi principali per inserire nuovi valori.

append() — in fondo alla lista

voti = [6, 7, 8]
voti.append(9)
print(voti)   # [6, 7, 8, 9]

insert(pos, elem) — in una posizione specifica

voti = [6, 7, 8, 9]
voti.insert(1, 5)      # inserisce 5 all'indice 1
print(voti)            # [6, 5, 7, 8, 9]

extend(iterabile) — aggiungere più elementi

voti = [6, 5, 7]
voti.extend([8, 9, 4, 3])
print(voti)  # [6, 5, 7, 8, 9, 4, 3]

Rimuovere elementi

remove(valore) — rimuove la prima occorrenza

voti = [6, 5, 7, 8, 9, 4, 3]
voti.remove(5)
print(voti)  # [6, 7, 8, 9, 4, 3]

pop([indice]) — rimuove e restituisce

voti = [6, 7, 8, 9, 4]
ultimo = voti.pop()     # senza indice: toglie l'ultimo
print(ultimo)           # 4
print(voti)             # [6, 7, 8, 9]

clear() — svuota la lista

voti = [6, 7]
voti.clear()
print(voti)  # []

Scorrere e leggere gli elementi

For “diretto” sugli elementi

voti = [6, 7, 8, 9, 10]
for voto in voti:
    print(voto)

For con indice

voti = [6, 7, 8, 9, 10]
for i in range(len(voti)):
    print(f"Elemento {i} = {voti[i]}")

Nota: Gli indici partono da 0. L’ultimo elemento si trova a len(lista)-1.

Esempio completo

Programma che crea una lista, inserisce e rimuove elementi, e poi li stampa.

numeri = []

# aggiungo elementi
numeri.append(10)
numeri.append(20)
numeri.insert(1, 15)  # inserisco in mezzo
print("Lista dopo inserimenti:", numeri)

# tolgo l'ultimo
numeri.pop()
print("Lista dopo pop:", numeri)

# scorro la lista
print("Valori nella lista:")
for n in numeri:
    print(n)

Output atteso:

Lista dopo inserimenti: [10, 15, 20]
Lista dopo pop: [10, 15]
Valori nella lista:
10
15
  • Creazione: [], list()
  • Aggiunta: append, insert, extend
  • Rimozione: remove, pop, clear
  • Lettura: cicli for per elementi e per indici