# Python enumerate(): numerazione ed emissione di oggetti

Python enumerate() si utilizza per restituire un input sotto forma di oggetto enumerato. Tra le varie possibilità, questa funzione integrata consente anche di numerare stringhe ed elenchi.

## Che cos’è Python `enumerate()`?

La funzione Python `enumerate()` è utilizzata per **creare un’enumerazione partendo da un input**. Gli oggetti possono essere, ad esempio, stringhe o [tuple di Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tuple-in-python/) e ciascuno di essi viene dotato di un contatore. L’enumerazione è progressiva e parte da “0” per impostazione predefinita. La funzione è disponibile di base nel [linguaggio di programmazione](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/linguaggi-programmazione-web/).

## Sintassi e parametri di Python `enumerate()`

La sintassi di Python enumerate() si presenta così:

```python
enumerate(iterable, start)
```

Essa accetta due parametri:

- “iterable”: “iterable” indica un oggetto o una sequenza che possono essere riportati ciclicamente. Successivamente, la funzione aggiunge un numero progressivo prima di questo parametro, che è obbligatorio.
- “start”: questo parametro è facoltativo. Esso permette di stabilire il valore numerico a partire dal quale iniziare la numerazione. Il suo valore standard è “0”.

## Esempio di numerazione con `enumerate()`

Per chiarire meglio il funzionamento, utilizziamo un semplice esempio con quattro colori diversi. Procediamo quindi a numerarli per mezzo di Python `enumerate()`. Il codice per farlo si presenta così:

```python
colori = ['Blu', 'Rosso', 'Giallo', 'Arancione']
sequenza = enumerate(colori)
print(list(sequenza))
```

In questo modo otteniamo questo risultato:

```python
[(0, 'Blu'), (1, 'Rosso'), (2, 'Giallo'), (3, 'Arancione')]
```

## Python enumerate() con un indice iniziale

Poiché non abbiamo specificato un indice iniziale, l’enumerazione parte da “0”. Per cambiare questa impostazione, aggiungiamo a Python `enumerate()` il **parametro “start”** con il valore “1”. A tal fine è sufficiente modificare leggermente il codice precedente:

```python
colori = ['Blu', 'Rosso', 'Giallo', 'Arancione']
sequenza = enumerate(colori, 1)
print(list(sequenza))
```

Il risultato che otteniamo appare subito un po’ più chiaro:

```python
[(1, 'Blu'), (2, 'Rosso'), (3, 'Giallo'), (4, 'Arancione')]
```

Inoltre, puoi cambiare l’indice iniziale come preferisci in modo da far partire la numerazione da qualsiasi altro valore.

## La funzione `enumerate()` con un ciclo `for`

È possibile utilizzare Python `enumerate()` **con e senza indice iniziale** in combinazione con un [ciclo for](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/ciclo-for-su-python/). Per il primo ciclo facciamo a meno del parametro “start”. Il conteggio parte quindi da “0”. Per il secondo ciclo aggiungiamo il parametro per il punto di partenza “5”. In questo caso, il conteggio parte quindi da questo valore. Con l’identificatore `"\n"` chiediamo quindi al sistema di creare una nuova riga per ciascun elemento per rendere più chiara la visualizzazione. Il codice per questa combinazione è il seguente:

```python
colori = ['Blu', 'Rosso', 'Giallo', 'Arancione']
for sequenza in enumerate(colori):
    print(sequenza)
    print("\n")
print("Continua a partire da 5")        
for sequenza in enumerate(colori, 5):
    print(sequenza)
    print("\n")
```

Il risultato è quindi il seguente:

```python
(0, 'Blu')
(1, 'Rosso')
(2, 'Giallo')
(3, 'Arancione')
Continua a partire da 5
(5, 'Blu')
(6, 'Rosso')
(7, 'Giallo')
(8, 'Arancione')
```

## String Python enumerate()

Python `enumerate()` è la funzione giusta anche per enumerare una stringa. A tal fine la stringa viene **scomposta nelle sue singole parti e numerata progressivamente**. Il codice da utilizzare si presenta così:

```python
string = "esempio"
for x in enumerate(string, 1):
    print(x)
```

Il risultato è il seguente:

```python
(1, 'e')
(2, 's')
(3, 'e')
(4, 'm')
(5, 'p')
(6, 'i')
(7, 'o')
```

Consiglio La soluzione migliore per siti web e app: [Deploy Now](https://www.ionos.it/hosting/deploy-now "Deploy Now di IONOS") di IONOS ti permette di distribuire i tuoi progetti web direttamente tramite GitHub. Approfitta dei vantaggiosi piani tariffari e trova la configurazione più adatta alle tue esigenze. Richiedi una consulenza con i nostri esperti!


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