logo

Enumerate() în Python

Adesea, atunci când avem de-a face cu iteratoare, trebuie să păstrăm și un număr de iterații. Python ușurează sarcina programatorilor oferind o funcție încorporată enumerate() pentru această sarcină. Metoda enumerate () adaugă un numărător la un iterabil și îl returnează sub forma unui obiect enumerator. Acest obiect enumerat poate fi apoi folosit direct pentru bucle sau convertit într-o listă de tupluri folosind funcția list().

Sintaxă: enumerate(iterabil, start=0)

Parametri:



  • Iterabil: orice obiect care acceptă iterația
  • Start: valoarea indexului de la care trebuie pornit contorul, implicit este 0

Întoarcere: Returnează un iterator cu perechi de index și elemente din iterabilul original

Exemplu

Aici, folosim funcția enumerate() atât cu o listă, cât și cu un șir. Crearea de obiecte enumerate pentru fiecare și afișarea tipurilor de returnare ale acestora. De asemenea, arată cum să schimbați indexul de pornire pentru enumerare atunci când este aplicat unui șir, rezultând perechi index-element pentru listă și șir .

Python3

str la int




l1>=> [>'eat'>,>'sleep'>,>'repeat'>]> s1>=> 'geek'> # creating enumerate objects> obj1>=> enumerate>(l1)> obj2>=> enumerate>(s1)> print> (>'Return type:'>,>type>(obj1))> print> (>list>(>enumerate>(l1)))> # changing start index to 2 from 0> print> (>list>(>enumerate>(s1,>2>)))>

>

>

Ieșire:

Return type: [(0, 'eat'), (1, 'sleep'), (2, 'repeat')] [(2, 'g'), (3, 'e'), (4, 'e'), (5, 'k')]>

Utilizarea Enumerate Object în Loops

Enumerate() este folosit cu o listă numită l1. Mai întâi imprimă tupluri de perechi index și elemente. Apoi schimbă indexul de pornire în timp ce le imprimă împreună. În cele din urmă, tipărește indexul și elementul separat, fiecare pe linia sa.

Python3


verilog întotdeauna



l1>=> [>'eat'>,>'sleep'>,>'repeat'>]> # printing the tuples in object directly> for> ele>in> enumerate>(l1):> >print> (ele)> # changing index and printing separately> for> count, ele>in> enumerate>(l1,>100>):> >print> (count, ele)> # getting desired output from tuple> for> count, ele>in> enumerate>(l1):> >print>(count)> >print>(ele)>

>

>

Ieșire:

(0, 'eat') (1, 'sleep') (2, 'repeat') 100 eat 101 sleep 102 repeat 0 eat 1 sleep 2 repeat>

Accesarea următorului element

În Python, funcția enumerate() servește ca un iterator, moștenind toate funcțiile și metodele asociate iteratorului. Prin urmare, putem folosi funcția next() și metoda __next__() cu un enumera obiect.

Pentru a accesa următorul element dintr-un obiect enumerare, puteți utiliza funcția next(). Acesta ia obiectul enumerate ca intrare și returnează următoarea valoare din iterație.

ipconfig pe Ubuntu

Python3




cea mai buna masina din lume

fruits>=> [>'apple'>,>'banana'>,>'cherry'>]> enum_fruits>=> enumerate>(fruits)> next_element>=> next>(enum_fruits)> print>(f>'Next Element: {next_element}'>)>

>

>

Ieșire:

Next Element: (0, 'apple')>

Puteți apela din nou next() pentru a prelua elementele ulterioare:

Python3




afișați aplicațiile ascunse
fruits>=> [>'apple'>,>'banana'>,>'cherry'>]> enum_fruits>=> enumerate>(fruits)> next_element>=> next>(enum_fruits)> print>(f>'Next Element: {next_element}'>)>

>

>

Ieșire:

Next Element: (0, 'apple')>

De fiecare dată când next() este apelat, pointerul intern al obiectului enumerate se mută la următorul element, returnând tuplu corespunzător de index și valoare.