Android

Python opsommen

44 Функция enumerate Python

44 Функция enumerate Python

Inhoudsopgave:

Anonim

enumerate() is een ingebouwde functie in Python waarmee je een automatische teller hebt terwijl je lusjes maakt over iterables.

Python enumerate() Functie

De functie enumerate() heeft de volgende vorm:

enumerate(iterable, start=0)

De functie accepteert twee argumenten:

  • iterable - Een object dat iteratie ondersteunt. start - Het nummer vanaf waar de teller begint. Dit argument is optioneel. Standaard begint de teller vanaf 0.

enumerate() retourneert een enumerate-object waarop u de __next__() (of next() in Python 2) kunt aanroepen om een ​​tuple te krijgen met een telling en de huidige waarde van de iterabele.

Hier is een voorbeeld van hoe u een lijst met tupels kunt maken met behulp van list() en hoe u een iterabele lus kunt doorlopen:

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

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

Als de op nul gebaseerde indexering niet voor u werkt, kiest u een andere startindex voor de opsomming:

directions = list(enumerate(directions, 1))

De functie enumerate() werkt op elk iterabel object. Een iterabel is een container die kan worden herhaald. Met andere woorden, het betekent een object dat je kunt omcirkelen met een for lus. De meeste ingebouwde objecten in Python zoals tekenreeksen, lijsten en tupels zijn iterables.

Schrijf meer Pythonic Code met enumerate()

De for lus van Python verschilt totaal van de traditionele for lus in C-stijl die in veel programmeertalen beschikbaar is. De for lus in Python is gelijk aan de foreach lus van andere talen.

Een veel voorkomende techniek die door nieuwe Python-ontwikkelaars wordt gebruikt om de bijbehorende index te krijgen bij het omgaan met iterables, is het gebruik van het range(len(…)) patroon of een teller instellen en ophogen:

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

De bovenstaande lussen kunnen op een meer idiomatische manier worden herschreven met behulp van enumerate() :

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

Alle methoden produceren dezelfde uitvoer:

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

Conclusie

, we hebben je laten zien hoe je de functie enumerate() Python kunt gebruiken.

Python