Python - Liste

Ciao, aspiranti programmatori! Oggi immergeremo noi nel meraviglioso mondo delle liste di Python. Come il tuo amichevole insegnante di informatica del quartiere, sono entusiasta di guidarti in questo viaggio. Iniziamo dalle basi e lavoriamo fino a concetti più avanzati. Credimi, entro la fine di questo tutorial, sarai in grado di gestire le liste come un professionista! ?

Python - Lists

Python Liste

Le liste in Python sono come i coltelli svizzeri degli array. Sono versatili, facili da usare e incredibilmente potenti. Immagina di organizzare una festa e di dover tenere traccia dei tuoi ospiti. Una lista sarebbe perfetta per questo!

Creiamo la nostra prima lista:

ospiti = ["Alice", "Bob", "Charlie", "David"]
print(ospiti)

Quando esegui questo codice, vedrai:

['Alice', 'Bob', 'Charlie', 'David']

Congratulazioni! Hai appena creato la tua prima lista. Ma cosa sta succedendo esattamente qui?

Una lista in Python è una raccolta di elementi racchiusi tra parentesi quadre [], con ciascun elemento separato da una virgola. Questi elementi possono essere di qualsiasi tipo: stringhe, numeri, persino altre liste!

Ecco un altro esempio con tipi di dati misti:

lista_mista = [42, "Ciao", 3.14, True, [1, 2, 3]]
print(lista_mista)

Output:

[42, 'Ciao', 3.14, True, [1, 2, 3]]

Come puoi vedere, la nostra lista contiene un intero, una stringa, un numero in virgola mobile, un booleano e persino un'altra lista!

Accesso ai Valori delle Liste

Ora che abbiamo la nostra lista degli ospiti, come facciamo a controllare chi sta venendo? Ecco dove l'indicizzazione diventa utile. In Python, l'indicizzazione delle liste inizia da 0. Quindi, per accedere al primo elemento, usiamo l'indice 0.

ospiti = ["Alice", "Bob", "Charlie", "David"]
print(ospiti[0])  # Primo ospite
print(ospiti[2])  # Terzo ospite
print(ospiti[-1])  # Ultimo ospite

Output:

Alice
Charlie
David

Notare come abbiamo usato -1 per accedere all'ultimo elemento? L'indicizzazione negativa inizia dalla fine della lista. È come contare all'indietro!

Aggiornamento delle Liste

Oops! Abbiamo dimenticato di invitare Eva. Aggiungiamo lei alla nostra lista:

ospiti = ["Alice", "Bob", "Charlie", "David"]
ospiti.append("Eva")
print(ospiti)

Output:

['Alice', 'Bob', 'Charlie', 'David', 'Eva']

Il metodo append() aggiunge un elemento alla fine della lista. Ma cosa facciamo se vogliamo aggiungere Eva tra Bob e Charlie?

ospiti.insert(2, "Eva")
print(ospiti)

Output:

['Alice', 'Bob', 'Eva', 'Charlie', 'David', 'Eva']

Ora abbiamo due Evi! Correggiamo questo nella prossima sezione.

Eliminazione di Elementi delle Liste

A volte, dobbiamo rimuovere elementi dalla nostra lista. Rimuoviamo l'extra Eva:

ospiti = ['Alice', 'Bob', 'Eva', 'Charlie', 'David', 'Eva']
ospiti.remove("Eva")
print(ospiti)

Output:

['Alice', 'Bob', 'Charlie', 'David', 'Eva']

Il metodo remove() rimuove la prima occorrenza dell'elemento specificato. Se conosciamo l'indice, possiamo usare pop():

rimosso_ospite = ospiti.pop(3)
print(f"{rimosso_ospite} non può venire.")
print(ospiti)

Output:

David non può venire.
['Alice', 'Bob', 'Charlie', 'Eva']

Operazioni sulle Liste di Python

Le liste in Python hanno alcune abilità nascoste. Esploriamo alcune:

# Concatenazione
lista1 = [1, 2, 3]
lista2 = [4, 5, 6]
combinata = lista1 + lista2
print(combinata)

# Ripetizione
ripetuta = [1, 2, 3] * 3
print(ripetuta)

# Lunghezza
ospiti = ['Alice', 'Bob', 'Charlie', 'Eva']
print(len(ospiti))

Output:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
4

Indicizzazione, Slicing e Matrici

Ricordiamo come abbiamo accesso agli elementi singoli? Possiamo anche prendere più elementi contemporaneamente usando lo slicing:

ospiti = ['Alice', 'Bob', 'Charlie', 'David', 'Eva']
print(ospiti[1:4])  # Inizia dall'indice 1, fino (ma non inclusivo) all'indice 4
print(ospiti[:3])   # Dall'inizio fino (ma non inclusivo) all'indice 3
print(ospiti[2:])   # Dall'indice 2 fino alla fine
print(ospiti[::2])  # Ogni secondo elemento

Output:

['Bob', 'Charlie', 'David']
['Alice', 'Bob', 'Charlie']
['Charlie', 'David', 'Eva']
['Alice', 'Charlie', 'Eva']

Le liste possono anche essere utilizzate per creare matrici (liste 2D):

matrice = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrice[1][1])  # Accedi all'elemento nella seconda riga, seconda colonna

Output:

5

Metodi delle Liste di Python

Python fornisce una varietà di metodi integrati per le liste. Ecco una tabella di alcuni comuni:

Metodo Descrizione
append() Aggiunge un elemento alla fine della lista
clear() Rimuove tutti gli elementi dalla lista
copy() Restituisce una copia della lista
count() Restituisce il numero di elementi con il valore specificato
extend() Aggiunge gli elementi di una lista alla fine della lista corrente
index() Restituisce l'indice del primo elemento con il valore specificato
insert() Aggiunge un elemento alla posizione specificata
pop() Rimuove l'elemento alla posizione specificata
remove() Rimuove il primo elemento con il valore specificato
reverse() Inverte l'ordine della lista
sort() Ordina la lista

Prova alcuni:

numeri = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
numeri.sort()
print(numeri)
numeri.reverse()
print(numeri)
print(numeri.count(5))

Output:

[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
[9, 6, 5, 5, 4, 3, 3, 2, 1, 1]
2

Funzioni Integrate con Liste

Python fornisce anche diverse funzioni integrate che lavorano bene con le liste:

numeri = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
print(max(numeri))  # Valore massimo
print(min(numeri))  # Valore minimo
print(sum(numeri))  # Somma di tutti i valori

Output:

9
1
39

E eccoci qui, ragazzi! Abbiamo attraversato la terra delle liste di Python, dalla creazione alla manipolazione, dalle operazioni semplici ai metodi integrati. Ricorda, la pratica rende perfetto, quindi non esitare a sperimentare con questi concetti.

Prima di concludere, ecco un fatto divertente: Sai che le liste di Python sono in realtà implementate come array dinamici? Questo significa che possono crescere o ridursi secondo necessità, rendendole incredibilmente flessibili.

Spero che tu abbia goduto di questo tutorial tanto quanto ho goduto a guidarti attraverso di esso. Continua a programmare, a imparare e, più importante di tutto, a divertirti con Python!

Credits: Image by storyset