Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

Tuple e Liste


Tuple e Liste
Per raccogliere i dati


Tuple e Liste in Python


Tuple e liste: sono due tipi di dati in Python utilizzati per memorizzare collezioni ordinate di elementi.
Tuttavia, presentano alcune differenze fondamentali.

Definizione

  • Tupla:Una tupla è una sequenza immutabile di elementi racchiusi tra parentesi tonde `()`.
  • Lista:Una lista è una sequenza mutabile di elementi racchiusi tra parentesi quadre `[]`.


```python
# Tupla
mia_tupla = ("ciao", 10, True)

# Lista
mia_lista = ["ciao", 10, True]
```


Operazioni

Operazioni comuni a tuple e liste

Accesso agli elementi

  • È possibile accedere agli elementi di una tupla o di una lista utilizzando l'indice.
  • L'indice inizia da 0 e si incrementa di 1 per ogni elemento successivo.

# Accesso al primo elemento
primo_elemento_tupla = mia_tupla[0]  # "ciao"
primo_elemento_lista = mia_lista[0]  # "ciao"

# Accesso al secondo elemento
secondo_elemento_tupla = mia_tupla[1]  # 10
secondo_elemento_lista = mia_lista[1]  # 10


Slicing

  • È possibile estrarre una sottosequenza di elementi utilizzando il slicing.
  • La sintassi è `[inizio:fine:passo]`.

# Estrai i primi due elementi
primi_due_elementi_tupla = mia_tupla[:2]  # ("ciao", 10)
primi_due_elementi_lista = mia_lista[:2]  # ["ciao", 10]

# Estrai gli elementi dispari
elementi_dispari_lista = mia_lista[::2]  # ["ciao", True]

    


Concatenazione

È possibile concatenare due tuple o due liste con l'operatore `+`.

nuova_tupla = mia_tupla + ("mondo",)  # ("ciao", 10, True, "mondo")
nuova_lista = mia_lista + ["mondo"]  # ["ciao", 10, True, "mondo"]

 

Operazioni specifiche per le liste

Modifica degli elementi

È possibile modificare il valore di un elemento in una lista.

mia_lista[1] = 20  # Modifica il secondo elemento in 20

 

Aggiunta di elementi

È possibile aggiungere nuovi elementi alla fine di una lista con il metodo `append()`.

mia_lista.append("!")  # Aggiunge "!" alla fine della lista

 


Rimozione di elementi

È possibile rimuovere elementi da una lista con il metodo `remove()` o `del`.

mia_lista.remove(10)  # Rimuove il primo elemento con valore 10
del mia_lista[1]  # Rimuove il secondo elemento

    
Esempio di utilizzo

# Definisci una tupla con le coordinate di un punto
coordinate = (10, 20)

# Calcola la distanza dall'origine
distanza = ((coordinate[0])**2 + (coordinate[1])**2)**0.5

# Definisci una lista di nomi
nomi = ["Mario", "Luigi", "Anna"]

# Aggiungi un nuovo nome alla lista
nomi.append("Paolo")

# Stampa la lista dei nomi
for nome in nomi:
    print(nome)

Riepilogo

  • Le tuple sono immutabili, le liste sono mutabili
  • Le tuple sono più veloci delle liste in alcune operazioni
  • Le liste sono più flessibili e adatte a operazioni di modifica.

Le tuple sono una buona scelta quando è necessario memorizzare una collezione di dati che non deve essere modificata.
Le liste sono una scelta più flessibile quando è necessario aggiungere, rimuovere o modificare gli elementi della collezione.