# Liste in Python: come funzionano

Le liste in Python aiutano a strutturare i contenuti e a leggerli successivamente. Attraverso vari metodi potete modificare, ordinare, ampliare o ridurre le liste.

## Cosa sono le liste in Python?

Se desiderate memorizzare informazioni complesse in modo chiaro, una lista in Python è la scelta giusta. Qui non solo si memorizzano dati o tipi di oggetti semplici, ma è anche possibile annidare valori e liste diverse. Una lista in Python può essere **costruita in modo omogeneo o eterogeneo**. Omogeneo significa che vi sono contenuti solo dati di un unico tipo; se, invece, nella lista sono concatenati diversi tipi di file, si parla di struttura eterogenea. La versatilità di questa componente la rende un’ottima alternativa agli array. Vi spieghiamo come funzionano gli [array in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/array-in-python/ "Array in Python") nel nostro articolo.

## Come sono strutturate le liste in Python?

Una lista in Python comprende un numero qualsiasi di valori, racchiusi tra parentesi quadre e separati da virgole in una [stringa in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/stringhe-in-python/).

```none
cars = ['audi', 'ford', 'fiat', 'bentley']
```

Affinché la lista in Python possa essere riletta in un secondo momento, a ogni valore al suo interno viene assegnato un indice. Per filtrare un determinato valore dalla lista, scrivete il numero di indice corrispondente tra parentesi quadre dopo la lista in Python. Riceverete quindi come risultato il valore desiderato. Tenete presente che nel [linguaggio di programmazione web](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/linguaggi-programmazione-web/ "Linguaggi programmazione web") viene sempre contato a partire da 0. Il contenuto della lista può anche essere duplicato e diviso con [split in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/split-in-python/).

```none
first = cars[0]
assert first == 'audi'
```

## Esempio di lista in Python

Con un semplice esempio notate come viene costruita e poi letta una lista in Python. Per questa lista, prendiamo i nomi dei Paesi e li mettiamo tra parentesi quadre:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
```

Se ora desiderate leggere i Paesi di questa lista che non sono in Europa, procedete come segue:

```none
print(countries[1])
print(countries[4])
```

Il risultato ottenuto si presenta così:

```none
"Uruguay"
"Ghana"
```

## Sottoliste in Python

Una lista in Python può anche contenere sottoliste, che vengono utilizzate come elementi ordinari. Il codice si presenta in questo modo:

```none
countries_capitals = [
    ["France", "Uruguay", "Germany", "Ghana"],
    ["Paris", "Montevideo", "Berlin", "Accra"]
]
first_country = countries_capitals[0][0]
assert first_country == "France"
print(first_country)
```

Il risultato che si ottiene è quindi:

```none
"France"
```

Se desiderate avere restituito come valore la capitale, immettete quanto segue:

```none
capitals = countries_capitals[1]
first_capital = capitals[0]
print (f"The first capital is {first_capital}.")
```

Il risultato ottenuto è:

```none
The first capital is Paris.
```

## Come ampliare le liste in Python

Se volete ampliare la vostra lista in Python, avete tre opzioni: append, extend e insert. Vi presentiamo questi metodi.

### Con append

Con append ampliate la vostra lista di un elemento. Funziona così:

```none
countries = ["France", "Uruguay", "Germany", "Ghana"]
countries.append("Japan")
print(countries)
```

Il risultato è quindi:

```none
['France', 'Uruguay', 'Germany', 'Ghana', 'Japan']
```

### Con extend

Se desiderate aggiungere più elementi alla lista in Python, utilizzate extend.

```none
countries = ["France", "Uruguay", "Germany", "Ghana", "Japan"]
countries.extend(["Italy", "Canada", "Australia"])
print(countries)
```

Questo codice dà come risultato:

```none
['France', 'Uruguay', 'Germany', 'Ghana', 'Japan', 'Italy', 'Canada', 'Australia']
```

### Con insert

Se desiderate inserire un nuovo elemento al centro della lista in Python, insert è la scelta giusta. Qui non solo specificate il nuovo elemento, ma gli assegnate direttamente un numero di indice.

```none
countries = ["France", "Uruguay", "Germany", "Ghana"]
countries.insert(1, "China")
assert countries[1] == "China"
print(countries)
```

Ottenete quindi:

```none
['France', 'China', 'Uruguay', 'Germany', 'Ghana']
```

Ricordatevi che ‘France’ ha il numero di indice 0 e quindi rimane in cima all’elenco.

## Eliminare gli elementi da una lista in Python

Per eliminare gli elementi dalla lista in Python, usate remove o del.

### Con remove

Con remove rimuovete l’elemento scrivendolo nelle parentesi corrispondenti. Tuttavia, se questo elemento si presenta più di una volta, verrà eliminato solo alla prima occorrenza.

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.remove("Germany")
print(countries)
```

Questo produce il seguente risultato:

```none
['France', 'Uruguay', 'Netherlands', 'Ghana']
```

### Con del

In alternativa, usate del per rimuovere un elemento dalla lista in Python. Con questo metodo, non specificate l’elemento stesso, ma lo eliminate tramite il suo indice.

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
del countries[2]
assert "Germany" not in countries
print(countries)
```

Il risultato corrisponde a quello del metodo remove.

## Ordinare le liste in Python

Con la funzione sort potete mettere facilmente in ordine la lista. Se desiderate ordinare i Paesi della lista in ordine alfabetico, ad esempio, funziona così:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.sort()
print(countries)
```

Il risultato ottenuto è:

```none
['France', 'Germany', 'Ghana', 'Netherlands', 'Uruguay']
```

Per ottenere un ordine decrescente, scrivete questa informazione nelle parentesi vuote sopra:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.sort(reverse = True)
print(countries)
```

In questo modo verranno restituiti i Paesi in ordine dall’“Uruguay” alla “Francia”.

## Metodi della lista in Python

Per le liste in Python potete utilizzare i seguenti metodi. Probabilmente ne conoscete già alcuni se avete seguito un [tutorial su Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tutorial-python/).

<table>
  <thead>
    <tr>
      <th>Metodo</th>
      <th>Descrizione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Append</td>
      <td>Aggiunge un elemento alla fine della lista.</td>
    </tr>
    <tr>
      <td>Clear</td>
      <td>Rimuove tutti gli elementi dalla lista in Python.</td>
    </tr>
    <tr>
      <td>Copy</td>
      <td>Restituisce una copia della lista.</td>
    </tr>
    <tr>
      <td>Count</td>
      <td>Conta tutti gli elementi con un valore specifico nella lista in Python.</td>
    </tr>
    <tr>
      <td>Extend</td>
      <td>Aggiunge tutti gli elementi a un’altra lista.</td>
    </tr>
    <tr>
      <td>Index</td>
      <td>Cerca un elemento specifico all’interno della lista in Python e restituisce il numero di indice.</td>
    </tr>
    <tr>
      <td>Insert</td>
      <td>Inserisce un elemento in una posizione specifica.</td>
    </tr>
    <tr>
      <td>Pop</td>
      <td>Rimuove un elemento da una posizione specifica e lo utilizza come valore di ritorno.</td>
    </tr>
    <tr>
      <td>Remove</td>
      <td>Rimuove il primo elemento con un valore specifico.</td>
    </tr>
    <tr>
      <td>Reverse</td>
      <td>Inverte l’ordine della lista in Python.</td>
    </tr>
    <tr>
      <td>Sort</td>
      <td>Ordina la lista.</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/liste-in-python/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/liste-in-python/) for AI/LLM consumption.