Czym jest funkcja enumerate() w języku Python?
Enumerate() to wbudowana funkcja dostępna z biblioteką Pythona. Pobiera dane dane wejściowe jako kolekcję lub krotki i zwraca je jako obiekt enumerate. Polecenie Python Enumerate() dodaje licznik do każdego elementu iterowalnego obiektu i zwraca obiekt enumerate jako ciąg wyjściowy.
Składnia enumerate()
enumerate(iterable, startIndex)
Parametry
Wyróżniamy trzy parametry:
- iterable: obiekt, który można zapętlić.
- startIndex: (opcjonalne) Licznik rozpocznie się od wartości podanej w startIndex dla pierwszego elementu w pętli i będzie zwiększał go dla następnego elementu, aż osiągnie koniec pętli.
Jeśli jednak startIndex nie zostanie określony, licznik rozpocznie się od 0.
ReturnValue:
Zwróci iterableobject z countvalue do każdego z elementów do iteratorobject podanego jako wejście.
Enumerate() w przykładzie
Metoda Enumerate zawiera automatyczny licznik/indeks do każdego z elementów znajdujących się na liście Enumerate w Pythonie. Wartość firstindex rozpocznie się od 0. Można również określić startindex za pomocą opcjonalnego parametru startIndex w enumerate.
Przykład
W poniższym kodzie mylist jest listą podaną funkcji Enumerate w Pythonie. Funkcja list() służy do wyświetlania danych wyjściowych Enumerate Python.
Uwaga: nie jest używany startIndex, dlatego indeks dla pierwszego elementu rozpocznie się od 0.
mylist = ['A', 'B' ,'C', 'D'] e_list = enumerate(mylist) print(list(e_list))
Wyjście:
[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]
Używanie Enumerate() na liście z startIndex
W poniższym przykładzie indeks początkowy podany jako 2. Indeks pierwszego elementu rozpocznie się od podanego indeksu początkowego.
Przykład:
W poniższym przykładzie mylist jest listą podaną do wyliczenia. Funkcja list() służy do wyświetlania danych wyjściowych enumerate.
mylist = ['A', 'B' ,'C', 'D'] e_list = enumerate(mylist,2) print(list(e_list))
Wyjśćie:
[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
Zapętlanie obiektu Enumerate
Przykład pokazuje wyliczanie po obiekcie z startIndex i bez.
Pierwsza pętla for nie ma startIndex, więc indeks zaczyna się od 0.
Druga pętla for ma startIndex jako 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')
Używając startIndex jako 10
(10, 'A') (11, 'B') (12, 'C') (13, 'D')
enumerate() na krotce
W poniższym przykładzie możesz użyć krotki wewnątrz wyliczania. Możesz również użyć startIndex, a klucz do każdego elementu będzie zaczynał się od startIndexgiven.
Domyślnie startIndex to 0. W tym miejscu klucz jest wyświetlany jako 0 dla pozycji 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 używając łańcuchów znaków
W Pythonie łańcuch jest tablicą, a zatem można go zapętlić. Jeśli przekażesz ciąg do enumerate(), dane wyjściowe pokażą indeks i wartość dla każdego znaku ciągu.
Przykład:
my_str = "python" for i in enumerate(my_str): print(i)
Wyjście:
(0, 'p') (1, 'y') (2, 't') (3, 'h') (4, 'o') (5, 'n')
Enumerate na słowniku
W Pythonie słownik jest umieszczony w nawiasach klamrowych, wewnątrz tych nawiasów klamrowych deklarowane są wartości.
Każdy element jest parą klucz/wartość rozdzieloną przecinkami. Możesz użyć słownika wewnątrz 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 Enumerate
Oto zalety/korzyści używania Enumerate w Pythonie:
- Enumerate umożliwia przeglądanie listy, krotki, słownika, ciągu i podaje wartości wraz z indeksem.
- Aby uzyskać wartość indeksu za pomocą pętli for, możesz skorzystać z listy.index(n). Jednak list.index(n) jest bardzo drogi, ponieważ dwukrotnie przechodzi przez pętlę for.
- Enumerate jest bardzo pomocne w takim przypadku, ponieważ podaje indeks i pozycje za jednym razem.