enumerate() în Python

Funcții încorporate Python 3.0+

Parcurge o colecție și dă, pentru fiecare element, și poziția lui.

Sintaxă
enumerate(iterabil, start=0)

Ce face enumerate()

enumerate() transformă fiecare element în perechea (poziție, element). Este modul corect în Python de a avea indicele într-o buclă for, în loc de range(len(lista)).

Parametrul start alege de la ce număr începe numerotarea, util când vrei să afișezi o listă numerotată de la 1.

Parametri

Parametru Descriere
iterabil Colecția de parcurs.
start Opțional. Primul număr de poziție. Implicit 0.

Ce returnează

Un obiect enumerate care produce perechi (index, element).

Exemple

Exemplul 1: Listă numerotată

cumparaturi = ["pâine", "lapte", "ouă"]
for numar, produs in enumerate(cumparaturi, start=1):
    print(f"{numar}. {produs}")

Rezultat

1. pâine
2. lapte
3. ouă

Exemplul 2: Găsirea pozițiilor

note = [7, 10, 5, 10, 8]
pozitii_maxime = [i for i, nota in enumerate(note) if nota == 10]
print(pozitii_maxime)
print(list(enumerate("abc")))

Rezultat

[1, 3]
[(0, 'a'), (1, 'b'), (2, 'c')]

Greșeli frecvente

  • Inversezi ordinea la despachetare: for produs, i in enumerate(lista). Primul element din pereche este întotdeauna poziția.

Comenzi înrudite

  • for: Parcurge, pe rând, fiecare element dintr-o listă, text, dicționar sau alt obiect iterabil.
  • range(): Generează un șir de numere întregi, folosit mai ales în bucle for.
  • zip(): Parcurge mai multe colecții în paralel și le grupează element cu element.