Funkcja enumerate()
w Pythonie jest wbudowaną funkcją, która umożliwia iterowanie po elementach sekwencji (takiej jak lista, krotka lub łańcuch znaków) jednocześnie z dostępem do ich indeksu. Innymi słowy, podczas iteracji dostajesz zarówno sam element, jak i jego pozycję w sekwencji.
Przy użyciu enumerate()
, zamiast iterować tylko po elementach sekwencji, możesz iterować po parach (indeks, element)
. Funkcja ta zwraca specjalny obiekt, który w każdej iteracji zwraca dwie wartości: indeks elementu i sam element.
Składnia:
enumerate(iterowalny, start=0)
iterowalny
: Obiekt, po którym chcesz iterować (np. lista, krotka, łańcuch znaków).start
: (Opcjonalnie) Początkowa wartość indeksu (domyślnie 0).
Przykład:
Bez enumerate()
:
lista = ['jabłko', 'banan', 'czereśnia']
indeks = 0
for owoc in lista:
print(indeks, owoc)
indeks += 1
Z enumerate()
:
lista = ['jabłko', 'banan', 'czereśnia']
for indeks, owoc in enumerate(lista):
print(indeks, owoc)
W obu przypadkach wynik będzie taki sam:
0 jabłko
1 banan
2 czereśnia
Przykład z argumentem start
:
lista = ['jabłko', 'banan', 'czereśnia']
for indeks, owoc in enumerate(lista, start=2):
print(indeks, owoc)
Wynik:
2 banan
3 czereśnia
Korzyści z używania enumerate()
:
- Czytelność kodu: enumerate() upraszcza kod, eliminując potrzebę ręcznego zarządzania zmienną indeksu, co czyni go bardziej czytelnym i mniej podatnym na błędy.
- Mniej kodu: Dzięki enumerate() nie musisz deklarować osobnej zmiennej dla indeksu i aktualizować jej ręcznie w każdej iteracji.
- Elastyczność: Możesz rozpocząć indeksowanie od dowolnej liczby, używając argumentu start.