Python Funkcja enumerate(): pętla, krotka i ciąg znaków

⚡ Inteligentne podsumowanie

Python Funkcja enumerate() dodaje automatyczny licznik do dowolnego obiektu iterowalnego, zwracając pary indeks-wartość podczas pętli. Tutaj poznasz jej składnię, opcjonalny indeks początkowy oraz sposób działania na listach, krotkach, ciągach znaków i słownikach.

  • 🔢 Co robi: Dodaje licznik do każdego elementu obiektu iterowalnego, zwracając pary indeks-wartość.
  • ⚙️ Składnia: enumerate(iterable, startIndex) przyjmuje obiekt iterowalny oraz opcjonalny numer początkowy.
  • 🔟 Niestandardowy start: startIndex ustawia punkt, od którego rozpoczyna się zliczanie; pomiń tę wartość, aby rozpocząć od 0.
  • 🔁 Looping: Połącz go z pętlą for, aby jednocześnie odczytać indeks i wartość.
  • 📦 Dowolny obiekt iterowalny: Działa na listach, krotkach, ciągach znaków i słownikach.
  • 🤖 Pomoc AI: Narzędzia Copilot i AI automatycznie uzupełniają pętle enumerate() i refaktoryzują liczniki ręczne.

Funkcja Enumerate() w Python

Czym jest Python Wyliczać?

Python Wyliczać() jest wbudowaną funkcją dostępną w Python biblioteka. Przyjmuje dane wejściowe jako kolekcję lub krotki i zwraca je jako obiekt wyliczeniowy. The Python Polecenie Enumerate() dodaje licznik do każdego elementu obiektu iterowalnego i zwraca obiekt wyliczeniowy jako ciąg wyjściowy.

Składnia Python wyliczać()

enumerate(iterable, startIndex)

Parametry

Trzy parametry to:

  • Iterowalne: obiekt, który można zapętlić.
  • RozpocznijIndeks: (opcjonalnie) Liczenie rozpocznie się od wartości podanej w startIndex dla pierwszego elementu w pętli i będzie ją zwiększać dla następnego elementu, aż dotrze do końca pętli.

Jeśli jednak nie określono startIndex, zliczanie rozpocznie się od 0.

Wartość zwracana

Zwróci obiekt iterowalny z wartością licznika dla każdego elementu obiektu iteratora podanego jako dane wejściowe.

Wylicz() w Python Przykład

Metoda Enumerate zawiera automatyczny licznik/indeks dla każdego elementu znajdującego się na liście Enumerate w Python. Wartość pierwszego indeksu zacznie się od 0. Można także określić indeks początkowy, używając opcjonalnego parametru startIndex w enumerate.
Przykład
W poniższym kodzie mojalista jest listą podaną funkcji Enumerate Python, funkcja list(). służy do wyświetlania Enumerate Python wyjście.

Uwaga: Nie ma używanego startIndex, dlatego indeks pierwszego elementu będzie zaczynał się od 0.

Wynik polecenia enumerate będzie wyglądał następująco:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

Plik: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

Wyjście:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

UżywanieEnumerate() na liście z startIndex

W poniższym przykładzie indeks początkowy podany jest jako 2. Indeks pierwszej pozycji będzie rozpoczynał się od podanego indeksu początkowego.

Przykład:

W poniższym przykładzie mojalista jest listą podaną do wyliczenia. Funkcja list() służy do wyświetlania wyniku wyliczenia.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

Wyjście:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Looping Nad obiektem Enumerate

Przykład pokazuje wyliczanie obiektu z startIndex i bez niego.

  • Pierwsza pętla for nie ma startIndex, więc indeks zaczyna się od 0.
  • Druga pętla for ma startIndex równy 10, więc indeks zaczyna się od 10.

Przykład:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

Wyjście:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Wyliczanie krotki

W poniższym przykładzie możesz użyć krotki wewnątrz wyliczenia. Możesz także użyć startIndex, a klucz do każdego elementu będzie zaczynał się od podanego startIndex.

Domyślnie startIndex wynosi 0. Tutaj widzisz klucz jako 0 dla elementów A i 1 dla B i tak dalej.

Przykład:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

Wyjście:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Wyliczanie ciągu

In Python, ciąg znaków jest tablicą i dlatego można nad nim zapętlić. Jeśli przekażesz ciąg do funkcji enumerate(), wynik pokaże indeks i wartość każdego znaku ciągu.

Przykład:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

Wyjście:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Wylicz słownik

In Pythonsłownik jest wymieniony w nawiasach klamrowych, wewnątrz tych nawiasów klamrowych deklarowane są wartości.

Każdy element jest parą klucz/wartość i jest oddzielony przecinkami. Możesz użyć słownika wewnątrz funkcji enumerate() i zobaczyć wynik.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

Wyjście:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Zalety korzystania z wyliczenia

Oto zalety/korzyści korzystania z funkcji Enumerate in Python:

  • Enumerate umożliwia przeglądanie listy, krotki, słownika, łańcucha znaków i podaje wartości wraz z indeksem.
  • Aby uzyskać wartość indeksu za pomocą pętli for, możesz skorzystać z list.index(n). Jednak list.index(n) jest bardzo kosztowna, ponieważ dwukrotnie przechodzi przez pętlę for. Enumerate jest bardzo pomocne w takim przypadku, ponieważ podaje indeks i elementy za jednym razem.

FAQ

enumerate() to wbudowana funkcja, która dodaje licznik do obiektu iterowalnego, takiego jak lista, krotka, ciąg znaków lub słownik, zwracając pary indeks-wartość.

Składnia to enumerate(iterowalny, indeks_początkowy). Obiekt iterowalny to dowolny obiekt pętlowy; indeks_początkowy to opcjonalna liczba początkowa. Bez niej liczenie rozpoczyna się od 0.

Przekaż drugi argument, na przykład enumerate(mylist, 2). Zliczanie rozpocznie się od tej wartości zamiast od 0, więc pierwszy element otrzyma indeks 2.

Tak. Przekazanie słownika powoduje pętlenie jego kluczy, parując każdy z indeksem. Wypisz elementy słownika (elementy) w przypadku, gdy potrzebujesz również wartości.

enumerate() jest czystsze i szybsze niż ręczne indeksowanie lub list.index(n), które skanuje dwukrotnie, zwracając jednocześnie indeks i element.

Asystenci AI, tacy jak GitHub Copilot, automatycznie uzupełniają pętle enumerate(), sugerują startIndex i refaktoryzują liczniki ręczne, przyspieszając idiomatyczne Python i wyłapywanie błędów typu „off-by-one”.

Tak. Lintery oparte na sztucznej inteligencji automatyzują tę refaktoryzację, wykrywając wzorce range(len(x)) i przepisując je jako enumerate(x) w celu uzyskania czystszego i bardziej przejrzystego kodu. Pythonpętle ic o identycznym zachowaniu.

Funkcja enumerate() zwraca obiekt enumerate, iterator par (indeks, wartość). Zapętl go bezpośrednio lub owiń w funkcję list(), aby wyświetlić wszystkie pary.

Podsumuj ten post następująco: