Funzione Enumerate() in Python: una procedura dettagliata di base

Pubblicato: 2021-06-24

Python è uno dei linguaggi preferiti dai data scientist. Il linguaggio è intuitivo e Python ha una serie di librerie utili per affrontare diversi problemi. Dispone di numerosi moduli per aiutare i data scientist in varie fasi di qualsiasi problema di data science, dal data mining all'analisi fino alla creazione di report.

In upGrad, abbiamo assistito professionisti di diversi settori, tra cui economia, scienze umane e ingegneria. Python è stato di gran lunga il linguaggio più semplice da imparare sia per i principianti che per i professionisti in qualsiasi fase della loro carriera. Quindi, se sei un aspirante scienziato dei dati che cerca di muovere i primi passi, Python potrebbe essere un buon punto di partenza!

Il linguaggio di programmazione Python ha molteplici funzionalità per aiutarti a setacciare diversi set di dati e manipolare i contenitori di dati secondo le tue esigenze. Una di queste caratteristiche è il metodo enumerate(). È una delle funzioni più importanti in Python, specialmente per lavorare con set di dati voluminosi. Non solo, la funzione è anche molto più ottimizzata rispetto ad altre funzioni Python che svolgono un'attività simile: mantiene il codice efficiente e pulito.

La funzione aggiunge un contatore a qualsiasi oggetto iterabile. Quindi, utilizzando il contatore, puoi tenere traccia del numero di iterazioni che si sono verificate. Il valore di questo contatore viene memorizzato separatamente. Usando questo metodo, puoi scorrere un elenco o un dizionario o una tupla o un insieme di elementi tenendo traccia dell'indice di tutti gli elementi.

In questo articolo, analizzeremo ulteriormente la funzione enumerate()!

Sintassi e applicazione del metodo enumerate()

La funzione enumerate() crea una variabile contatore separata che tiene traccia del numero di iterazioni in un ciclo. È una funzione Python integrata, quindi non è necessario importare alcuna libreria per accedervi.

Durante l'utilizzo della funzione enumerate(), non devi preoccuparti di creare l'istruzione range() per ottenere la lunghezza completa dell'array. Dato che hai la variabile counter, puoi scorrere rapidamente su enumerate() senza creare un iteratore diverso.

Ecco la sintassi del metodo enumerate():

enumerate (iterabile, startIndex)

Ha due parametri:

  • Iterabile: qualsiasi oggetto su cui è possibile eseguire il loop.
  • startIndex: questo è facoltativo. Se fornisci un valore qui, il conteggio partirà dal valore fornito e aumenterà fino alla fine del ciclo. Per impostazione predefinita, il valore startIndex è 0.

Comprendiamo il funzionamento del metodo enumerate() controllando alcuni esempi!

Ecco un piccolo pezzo di codice. Abbiamo un array chiamato food_items e, nel ciclo for, abbiamo chiamato il metodo enumerate() con l'iterabile food_items (questo sarà l'array su cui questa funzione eseguirà il loop). Quindi, stiamo cercando di stampare l'indice e il nome: questi sono i due elementi restituiti da enumerate()

food_items = [“Pizza”, “Hamburger”, “Insalata”, “Lasagne”, “Spaghetti”]

per index, nome in enumerate(food_items):

print(indice, nome)

La funzione enumerate() esegue un'iterazione sul nostro elemento dell'array di alimenti e restituisce indice e nome. L'indice è il numero di iterazioni avvenute e il nome è l'elemento particolare nell'elenco. Ecco cosa emette il programma:

0 Pizza

1 hamburger

2 Insalata

3 Lasagne

4 spaghetti

Come puoi vedere, l'output è come ti saresti aspettato: ottieni un oggetto di indici e nomi per i diversi elementi nel tuo elenco di food_items. L'uso della funzione enumerate() invece di len() o range() rende il nostro codice estremamente pulito e leggibile!

Lavorare con l'oggetto Enumerate

Per impostazione predefinita, enumerate() restituisce un elenco di tuple. Possiamo vederlo stampando il valore di 'item' durante l'iterazione sull'array food_items:

per l'elemento in enumerate(food_items):

stampa (oggetto)

Questo codice restituisce il valore dell'indice e l'alimento in quell'indice in una struttura di dati tupla.

(0, 'Pizza')

(1, 'Hamburger')

(2, 'Insalata')

(3, 'Lasagne')

(4, 'Spaghetti')

Se hai prestato attenzione dall'inizio di questo articolo, ricorderai che il metodo enumerate() accetta due parametri: iterable e startIndex. Per impostazione predefinita, il nostro metodo finora parlava, come startIndex. Proviamo a cambiarlo e vediamo come funziona!

food_items = [“Pizza”, “Hamburger”, “Insalata”, “Lasagne”, “Spaghetti”]

per index, name in enumerate(food_items, 10):

print(indice, nome)

Il nostro programma restituisce quanto segue

10 Pizza

11 Hamburger

12 Insalata

13 Lasagne

14 Spaghetti

Questo è utile per i casi d'uso in cui vorresti iniziare la tua lista da un numero diverso da 0.

Possiamo anche creare tuple con l'elemento della lista e l'indice usando il metodo enumerate(). Ecco un esempio:

food_items = [“Pizza”, “Hamburger”, “Insalata”, “Lasagne”, “Spaghetti”]

food_items_with_counter = list(enumerate(food_items, 1))

print(food_items_list_with_counter)

Il codice restituirà un elenco di tuple con i prodotti alimentari e il valore dell'indice dal metodo enumerate(). Controlla:

[(1, 'Pizza'), (2, 'Hamburger'),(3, 'Insalata'), (4, 'Lasagne'), (5, 'Spaghetti')]

Conclusione

La funzione enumerate() in Python è una funzione robusta e ottimizzata. È utile se si desidera eseguire l'iterazione su una matrice di valori e manipolare i dati in posizioni diverse della matrice.

Ora che conosci le basi di enumerate(), vai avanti e fai pratica: crea un paio di array e prova a eseguire la funzione enumera() con input diversi. Dopotutto, la programmazione è tutta una questione di pratica. È importante aggiungere: la programmazione (e la scienza dei dati, in particolare) riguarda anche la conoscenza delle cose giuste, oltre alla pratica sfacciata. Devi trovare un mix dei due: conoscenza e pratica.

Se sei un novellino in questo campo in cerca di aiuto, upGrad ti copre le spalle! Il nostro Master of Science in Machine Learning e Intelligenza Artificiale si svolge in collaborazione con IIIT-Bangalore e LJMU. Ottieni supporto individuale da esperti del settore, un forte gruppo di studenti tra pari e supporto professionale a 360 gradi.

Contattaci oggi e fai avanzare la tua carriera!

Guida la rivoluzione tecnologica guidata dall'intelligenza artificiale

MASTER IN MACHINE LEARNING E INTELLIGENZA ARTIFICIALE
Applica ora