Jak używać wyliczenia w Pythonie (pętla z indeksami)
Dowiedz się, jak używać funkcji enumerate() w Pythonie. Uzyskaj zarówno indeks, jak i wartość, przeglądając listy z czystymi przykładami.
Przegląd
Podczas iteracji po liście, krotce lub ciągu znaków często konieczne będzie śledzenie bieżącego indeksu każdego elementu obok samego elementu. Typowym wzorcem dla początkujących jest użycie oddzielnej zmiennej licznika, która jest zwiększana ręcznie lub użycie `range(len(my_list))` do iteracji po indeksach. Jednak Python zapewnia znacznie bardziej eleganckie, Pythoniczne i wbudowane rozwiązanie: funkcję `enumerate()`.
Funkcja `enumerate()` przyjmuje dowolny argument iterowalny i zwraca obiekt wyliczeniowy, co daje w wyniku pary krotek wartości indeksu. Używając rozpakowywania krotek w pętli „for”, możesz jednocześnie wyodrębnić indeks i element. Eliminuje to całkowicie potrzebę ręcznego stosowania zmiennych licznikowych i nawiasów indeksujących, dzięki czemu kod jest znacznie czystszy i mniej podatny na błędy pojedyncze.
Domyślnie `enumerate()` rozpoczyna zliczanie indeksów od `0`. Można jednak przekazać niestandardowy indeks początkowy, używając opcjonalnego argumentu słowa kluczowego „start” (np. „enumerate(items, start=1)”). Jest to niezwykle przydatne podczas wyświetlania numerów list użytkownikom, ponieważ ludzie zazwyczaj oczekują, że listy zaczną liczyć od 1 zamiast od 0.
Dane wyjściowe kodu i wykonania
Ten skrypt demonstruje iterację po listach za pomocą enumerate w celu uzyskania par indeks-element, zaczynając od 0 i 1.
fruits = ["apple", "banana", "cherry"]
# 1. Standard enumeration (starts at 0)
print("--- Standard Enumeration ---")
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
# 2. Enumeration starting at a custom index (e.g., 1)
print("\n--- Starting at 1 ---")
for num, fruit in enumerate(fruits, start=1):
print(f"Item #{num}: {fruit}")--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry
--- Starting at 1 ---
Item #1: apple
Item #2: banana
Item #3: cherryWdrażanie krok po kroku
- Przekaż swoją listę (lub dowolną iterowalną) do wbudowanej funkcji enumerate().
- Rozpakuj zwrócone krotki w pętli for, używając składni dla indeksu, wartości w enumerate(list).
- Podaj parametr start (np. start=1), aby zmodyfikować początkową wartość licznika indeksu.
Często zadawane pytania
Czy enumerate() modyfikuje oryginalną listę?
Nie, enumerate() zwraca obiekt leniwego iteratora i pozostawia oryginalną listę całkowicie niezmodyfikowaną.
Czy mogę używać enumerate() ze słownikiem?
Tak, ale bezpośrednia iteracja słownika da jego klucze. Aby iterować wartość indeksu-klucza, użyj: for i, (k, v) w enumerate(my_dict.items()):.
Powiązane tematy
Dowiedz się, jak zapętlać lub iterować po słowniku Pythona. Odkryj metody pętli po kluczach, wartościach i parach klucz-wartość za pomocą przejrzystych, możliwych do uruchomienia przykładów.
Jak znaleźć długość listy w PythonieDowiedz się, jak znaleźć długość listy w Pythonie za pomocą funkcji len(). Zrozumienie złożoności czasowej O(1) i liczby kontroli.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Pętle Pythona
Dowiedz się, jak używać pętli Pythona do iteracji danych. Opanuj pętle for, pętle while, przerywaj, kontynuuj i pętluj najlepsze praktyki dzięki interaktywnym przykładom.
Ściągawka dotycząca metod ciągów w Pythonie
Kompletny przewodnik dotyczący manipulacji ciągami znaków w języku Python. Opanuj formatowanie, wyszukiwanie, dzielenie, zastępowanie i sprawdzanie właściwości ciągów.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.