logo

Enumerate () Python

Dažnai, kai dirbame su iteratoriais, taip pat turime nuolat skaičiuoti iteracijas. „Python“ palengvina programuotojo užduotį, pateikdama įmontuotą funkciją enumerate() šiai užduočiai. Išvardyti () metodas prideda skaitiklį prie kartotinės ir grąžina jį surašymo objekto forma. Tada šis išvardintas objektas gali būti naudojamas tiesiogiai kilpoms arba konvertuojamas į eilučių sąrašą naudojant list() funkciją.

Sintaksė: išvardinti (kartojama, pradžia = 0)

Parametrai:



  • Pakartojama: bet koks objektas, palaikantis iteraciją
  • Pradžia: indekso reikšmė, nuo kurios turi būti paleistas skaitiklis, pagal numatytuosius nustatymus ji yra 0

Grąžinti: Grąžina iteratorių su indekso ir elementų poromis iš pradinio iteravimo

Pavyzdys

Čia mes naudojame funkciją enumerate () su sąrašu ir eilute. Kiekvieno objekto surašymas ir jų grąžinimo tipų rodymas. Taip pat parodoma, kaip pakeisti pradinį surašymo indeksą, kai jis taikomas eilutei, todėl sąrašo ir eilutės indekso elementų poros .

Python3

perbrauktas žymėjimas




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

>

>

Išvestis:

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

Objekto išvardijimo naudojimas kilpose

Enumerate() naudojamas su sąrašu pavadinimu l1. Pirmiausia spausdinamos indekso ir elementų porų eilutės. Tada jis pakeičia pradinį indeksą spausdindamas juos kartu. Galiausiai jis spausdina rodyklę ir elementą atskirai, kiekvienas savo eilutėje.

Python3




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

>

>

Išvestis:

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

Prieiga prie kito elemento

Python sistemoje funkcija enumerate() tarnauja kaip iteratorius, paveldėdamas visas susijusias iteratoriaus funkcijas ir metodus. Todėl galime naudoti funkciją next() ir __next__() metodą su an išvardinti objektas.

Norėdami pasiekti kitą surašymo objekto elementą, galite naudoti funkciją next(). Jis paima surašymo objektą kaip įvestį ir grąžina kitą iteracijos reikšmę.

Python3




kaip patikrinti monitoriaus ekrano dydį

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

>

>

Išvestis:

Next Element: (0, 'apple')>

Galite dar kartą iškviesti next(), kad gautumėte tolesnius elementus:

Python3


mano gyvas kriketas



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

>

>

Išvestis:

Next Element: (0, 'apple')>

Kiekvieną kartą, kai iškviečiamas next(), vidinis išvardijamo objekto rodyklė pereina prie kito elemento, grąžindamas atitinkamą indekso ir reikšmės eilutę.