logo

Enumerate() v Pythone

Často, keď sa zaoberáme iterátormi, musíme tiež udržiavať počet iterácií. Python uľahčuje programátorom úlohu tým, že pre túto úlohu poskytuje vstavanú funkciu enumerate(). Metóda enumerate () pridá počítadlo do iterovateľnej položky a vráti ju vo forme enumeračného objektu. Tento vymenovaný objekt možno potom použiť priamo na cykly alebo ho pomocou funkcie list() previesť na zoznam n-tic.

Syntax: enumerate(iterovateľné, začiatok=0)

Parametre:



  • Iterovateľné: akýkoľvek objekt, ktorý podporuje iteráciu
  • Štart: hodnota indexu, od ktorej sa má počítadlo spustiť, štandardne je 0

Návrat: Vráti iterátor s pármi indexu a prvkov z pôvodnej iterovateľnej položky

Príklad

Tu používame funkciu enumerate() so zoznamom aj reťazcom. Vytváranie enumeračných objektov pre každý z nich a zobrazovanie ich návratových typov. Tiež ukazuje, ako zmeniť počiatočný index pre enumeráciu pri použití na reťazec, výsledkom čoho sú páry index-prvok pre zoznam a reťazec .

Python3




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

>

>

Výkon:

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

Použitie Enumerate Object in Loops

Enumerate() sa používa so zoznamom s názvom l1. Najprv vytlačí n-tice párov indexov a prvkov. Potom zmení počiatočný index pri ich spoločnej tlači. Nakoniec vytlačí index a prvok samostatne, každý na svojom riadku.

Python3


terminál kali linux



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

globálna premenná js

>

>

Výkon:

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

Prístup k ďalšiemu prvku

V Pythone funkcia enumerate() slúži ako iterátor, ktorý dedí všetky súvisiace funkcie a metódy iterátora. Preto môžeme použiť funkciu next() a metódu __next__() s an vyčísliť objekt.

Na prístup k ďalšiemu prvku v objekte enumerate môžete použiť funkciu next(). Vezme objekt enumerate ako vstup a vráti ďalšiu hodnotu v iterácii.

Python3




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

>

q2 mesiace

>

Výkon:

Next Element: (0, 'apple')>

Ak chcete získať nasledujúce prvky, môžete znova zavolať funkciu next():

Python3




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

>

zásobník v ds
>

Výkon:

Next Element: (0, 'apple')>

Zakaždým, keď sa zavolá next(), vnútorný ukazovateľ objektu enumerate sa presunie na ďalší prvok a vráti zodpovedajúcu n-ticu indexu a hodnoty.