Python – iterowanie z funkcją enumerate()

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

  1. 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.
  2. Mniej kodu: Dzięki enumerate() nie musisz deklarować osobnej zmiennej dla indeksu i aktualizować jej ręcznie w każdej iteracji.
  3. Elastyczność: Możesz rozpocząć indeksowanie od dowolnej liczby, używając argumentu start.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *