Android

Python teller

44 Функция enumerate Python

44 Функция enumerate Python

Innholdsfortegnelse:

Anonim

enumerate() er en innebygd funksjon i Python som lar deg ha en automatisk teller mens du looper over iterables.

Python enumerate() -funksjon

Funksjonen enumerate() har følgende form:

enumerate(iterable, start=0)

Funksjonen godtar to argumenter:

  • iterable - Et objekt som støtter iterasjon. start - Nummeret som telleren starter fra. Dette argumentet er valgfritt. Som standard starter teller fra 0.

enumerate() returnerer et oppregnet objekt som du kan ringe __next__() (eller next() i Python 2) -metoden for å få en tupel som inneholder en telling og den gjeldende verdien av det iterable.

Her er et eksempel på hvordan du oppretter en liste over tupler ved hjelp av list() og hvordan du loop over en iterbar:

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

Hvis den nullbaserte indekseringen ikke fungerer for deg, velger du en annen startindeks for oppregningen:

directions = list(enumerate(directions, 1))

Funksjonen enumerate() fungerer på alle iterable objekter. En iterbar er en beholder som kan iteres. Når du setter det i enkle ord, betyr det et objekt du kan sløyfe over med en for loop. De fleste av de innebygde objektene i Python som strenger, lister og tuples er iterables.

Skriv mer Pythonic-kode med enumerate()

Pythons for loop er helt forskjellig fra den tradisjonelle C-stilen for loop som er tilgjengelig på mange programmeringsspråk. For loop i Python tilsvarer andre språk ' foreach loop.

En vanlig teknikk som brukes av nye Python-utviklere for å få den tilsvarende indeksen når de arbeider med iterables, er å bruke range(len(…)) mønsteret eller sette og øke en teller:

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

Loopene ovenfor kan skrives om på mer idiomatisk måte ved å bruke enumerate() :

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

Alle metodene vil gi samme output:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

Konklusjon

, har vi vist deg hvordan du bruker Pythons enumerate() funksjon.

python