Android

Wyliczyć Python

Spisu treści:

Anonim

enumerate() to wbudowana funkcja w Pythonie, która pozwala na automatyczny licznik podczas zapętlania iterable.

Funkcja enumerate() języku Python

Funkcja enumerate() przyjmuje następującą postać:

enumerate(iterable, start=0)

Funkcja przyjmuje dwa argumenty:

  • iterable - Obiekt obsługujący iterację. start - numer, od którego zaczyna się licznik. Ten argument jest opcjonalny. Domyślnie licznik zaczyna się od 0.

enumerate() zwraca obiekt wyliczeniowy, do którego można wywołać __next__() (lub next() w Pythonie 2), aby uzyskać krotkę zawierającą liczbę i bieżącą wartość iterowalnego.

Oto przykład, jak utworzyć listę krotek za pomocą list() i jak wykonać pętlę iterowalną:

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

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

Jeśli indeksowanie od zera nie działa, wybierz inny indeks początkowy dla wyliczenia:

directions = list(enumerate(directions, 1))

Funkcja enumerate() działa na każdym obiekcie iterowalnym. Iterowalny to kontener, który można iterować. Mówiąc prościej, oznacza to obiekt, który można zapętlić za pomocą pętli for . Większość wbudowanych obiektów w Pythonie, takich jak ciągi, listy i krotki są iterowalne.

Napisz więcej kodu w języku Python za pomocą enumerate()

Pętla for Python różni się całkowicie od tradycyjnej pętli for C, która jest dostępna w wielu językach programowania. Pętla for w Pythonie jest równoważna pętli foreach innych języków.

Powszechną techniką stosowaną przez nowych programistów Python w celu uzyskania odpowiedniego indeksu w przypadku iteracji jest użycie wzorca range(len(…)) lub ustawienie i zwiększenie licznika:

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

Pętle powyżej można przepisać w bardziej idiomatyczny sposób za pomocą enumerate() :

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

Wszystkie metody dadzą taki sam wynik:

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

Wniosek

, pokazaliśmy, jak korzystać z funkcji enumerate() Pythona.

pyton