androide

Enumerare Python

Curso de Python - Aula 47 - Iterando Listas - eXcript

Curso de Python - Aula 47 - Iterando Listas - eXcript

Sommario:

Anonim

enumerate() è una funzione integrata in Python che ti permette di avere un contatore automatico mentre esegui il ciclo su iterabili.

Python enumerate() Function

La funzione enumerate() assume la forma seguente:

enumerate(iterable, start=0)

La funzione accetta due argomenti:

  • iterable - Un oggetto che supporta l'iterazione. start - Il numero da cui inizia il contatore. Questo argomento è facoltativo. Per impostazione predefinita, il contatore inizia da 0.

enumerate() restituisce un oggetto enumerato su cui è possibile chiamare il __next__() (o next() in Python 2) per ottenere una tupla contenente un conteggio e il valore corrente dell'iterabile.

Ecco un esempio di come creare un elenco di tuple usando list() e come eseguire il loop su un iterabile:

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

Se l'indicizzazione in base zero non funziona per te, scegli un altro indice iniziale per l'enumerazione:

directions = list(enumerate(directions, 1))

La funzione enumerate() funziona su qualsiasi oggetto iterabile. Un iterabile è un contenitore che può essere ripetuto. Detto in parole semplici, significa un oggetto su cui è possibile eseguire il loop con un ciclo for . La maggior parte degli oggetti incorporati in Python come stringhe, elenchi e tuple sono iterabili.

Scrivi altro codice Pythonic con enumerate()

Python's for loop è totalmente diverso dal tradizionale stile C for loop, disponibile in molti linguaggi di programmazione. Il ciclo for in Python è equivalente al ciclo foreach di altre lingue.

Una tecnica comune utilizzata dai nuovi sviluppatori Python per ottenere l'indice corrispondente quando si tratta di iterabili è quella di utilizzare il modello range(len(…)) o impostare e incrementare un contatore:

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

I loop sopra possono essere riscritti in modo più idiomatico usando enumerate() :

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

Tutti i metodi produrranno lo stesso output:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

Conclusione

, ti abbiamo mostrato come usare la funzione enumerate() di Python.

pitone