Enumerate() Pythonissa

Usein iteraattoreita käsiteltäessä meidän on myös pidettävä iteraatioiden lukumäärä. Python helpottaa ohjelmoijien tehtävää tarjoamalla sisäänrakennetun funktion enumerate() tätä tehtävää varten. Enumerate () -menetelmä lisää iteroitavaan laskurin ja palauttaa sen luetteloivan objektin muodossa. Tätä lueteltua objektia voidaan sitten käyttää suoraan silmukoille tai muuntaa monikkoluetteloksi käyttämällä list()-funktiota.

Syntaksi: luetella(iteroitavissa, alku=0)

Parametrit:

  • Iteroitavissa: mikä tahansa iteraatiota tukeva objekti
  • Alkaa: indeksiarvo, josta laskuri käynnistetään, oletusarvoisesti se on 0

Palata: Palauttaa iteraattorin, jossa on indeksi- ja elementtiparit alkuperäisestä iteroitavasta

Esimerkki

Tässä käytämme enumerate()-funktiota sekä luettelon että merkkijonon kanssa. Luetteloobjektien luominen kullekin ja niiden palautustyyppien näyttäminen. Se näyttää myös kuinka muuttaa luettelon aloitusindeksiä, kun sitä käytetään merkkijonoon, jolloin saadaan indeksi-elementtipareja luettelolle ja merkkijonolle .

Python 3




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> )))>

Lähtö:

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

Enumerate Object in Loops käyttö

Enumerate() käytetään l1-nimisen listan kanssa. Se tulostaa ensin hakemisto- ja elementtiparien joukot. Sitten se muuttaa aloitusindeksiä tulostettaessa ne yhdessä. Lopuksi se tulostaa indeksin ja elementin erikseen, kumpikin omalle rivilleen.

Python 3




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)>

Lähtö:

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

Seuraavan elementin käyttö

Pythonissa enumerate()-funktio toimii iteraattorina, joka perii kaikki siihen liittyvät iteraattorifunktiot ja -menetelmät. Siksi voimme käyttää next()-funktiota ja __next__()-metodia an:n kanssa luetella esine.

Voit käyttää numerate-objektin seuraavaa elementtiä next()-funktiolla. Se ottaa enumerate-objektin syötteenä ja palauttaa iteroinnin seuraavan arvon.

Python 3




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

Lähtö:

Next Element: (0, 'apple') 

Voit kutsua next() uudelleen hakeaksesi seuraavat elementit:

Python 3




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

Lähtö:

Next Element: (0, 'apple') 

Joka kerta kun next() kutsutaan, enumerate-objektin sisäinen osoitin siirtyy seuraavaan elementtiin palauttaen vastaavan indeksin ja arvon monikko.