W tym artykule wyjaśniono użycie funkcji „wyliczania” dostępnej w standardowej bibliotece modułu Pythona. Wylicz funkcję umożliwia przypisanie „indeksu” lub „liczenia” do elementów w dowolnym iteracyjnym obiekcie. Następnie możesz zaimplementować ich dalszą logikę, ponieważ będziesz mieć dostęp do obu wartości, a liczba mapowana na nią.
Składnia i podstawowy przykład
Jeśli użyłeś pętli „dla” w innych językach programowania, zwłaszcza języka „C” i innych językach o składni stylu „C”, możesz określić indeks początkowy w pętli. Dla odniesienia, oto jak wygląda pętla „dla” w „C” i innych językach o podobnej składni:
dla (int i = 0; i < 10; i++)Instrukcja pętli inicjuje zmienną o wartości zerowej, sprawdza, czy jest ona mniejsza niż próg i zwiększa ją o jedną liczbę po ocenie logiki wewnątrz bloku pętli (jeśli warunek zatrzymania jest spełniony). W ten sposób możesz użyć indeksu i przypisać go do dowolnych obiektów odwołanych w bloku pętli. Dla porównania, oto, jak wygląda pętla z tym samym wynikiem w Pythonie:
Dla i w zakresie (0, 10):Funkcja „zakresu” w Pythonie pozwala określić sekwencję zasięgu liczb, która ma domyślny etap 1. Możesz zmienić wartość kroku, dostarczając trzeci argument. Drugi argument w funkcji „Zakres” służy do ustawienia progu dla warunku stopu. Obie próbki kodu dają następujące dane wyjściowe:
0Te pętle działają dobrze, jeśli chcesz po prostu wygenerować sekwencję liczbową i kojarzyć je z logiką w instrukcji pętli. Jednak może być konieczne użycie innej zagnieżdżonej pętli lub użyć funkcji „wydajności” w dowolnym iteracyjnym typu, aby przypisać im jakąś liczbę śledzącymi. Metoda „Wylicz” ułatwia przypisywanie indeksów do iterables w jednym stwierdzeniu, eliminując w ten sposób potrzebę uruchamiania wielu zagnieżdżonych pętli. Spójrz na tę próbkę kodu:
numery = [„zero”, „jeden”, „dwa”, „trzy”, „cztery”, „pięć”]Pierwsza instrukcja określa nową zmienną o nazwie „Numery” i przypisuje do niej iterabinę (typ listy). Drugie stwierdzenie pokazuje użycie funkcji „wyliczania”, w której dostarczasz jej iterację jako obowiązkowy argument. Trzecie instrukcja konwertuje zmienną „enumerated_numbers” w obiekt typu listy. Domyślnie funkcja „wylicz” generuje obiekt typu „wylicz”, a nie typowy typ, więc musisz ją przekonwertować. Po uruchomieniu próbki kodu wymienionego powyżej, należy uzyskać następujące dane wyjściowe:
[(0, „zero”), (1, „One”), (2, „dwa”), (3, „trzy”), (4, „cztery”), (5, „pięć”)]]]Funkcja „wylicz” przypisuje liczbę do każdego elementu w typu iterowalnym i tworzy krotki o sparowanych wartościach. Domyślnie liczba zaczyna się od zera.
Teraz, gdy przypisałeś numer do każdego elementu w typu iterowalnym, możesz łatwo go zapętlił bez pisania zagnieżdżonych instrukcji:
numery = [„zero”, „jeden”, „dwa”, „trzy”, „cztery”, „pięć”]Próbka kodu określona powyżej wytworzy następujące dane wyjściowe:
0 ZeroMożesz skrócić kod, używając funkcji „wyliczania”, jak pokazano w poniższej próbce:
numery = [„zero”, „jeden”, „dwa”, „trzy”, „cztery”, „pięć”]Używanie wyliczania z innym wskaźnikiem początkowym
Funkcja „wylicz” przyjmuje opcjonalny argument, w którym można określić indeks początkowy. Domyślnie jest to zero, ale możesz go zmienić za pomocą argumentu „Start”:
liczby = [„One”, „dwa”, „trzy”, „cztery”, „pięć”]W drugim stwierdzeniu argument „start = 1” służy do zmiany punktu początkowego. Po uruchomieniu próbki kodu określonej powyżej należy uzyskać następujące dane wyjściowe:
1 jedenPrzypisywanie indeksu z krokami
W pierwszej sekcji tego artykułu pokazano składnię dla pętli „dla” w języku „C”, gdzie można zdefiniować kroki między każdą kolejną liczbą lub indeksem. Funkcja „wylicz” w Pythonie nie ma dostępnego takiego argumentu, więc nie można określić kroku między liczbami. Rzeczywiście możesz napisać własną logikę, aby zaimplementować kroki w wyliczonym bloku „for” pętli. Istnieje jednak sposób na wdrożenie niestandardowych kroków poprzez pisząc minimalny kod. Poniższy przykład pokazuje implementację kroków za pomocą funkcji „ZIP” i „Zakresu”:
liczby = [„zero”, „dwa”, „cztery”, „sześć”]Funkcja „ZIP” umożliwia tworzenie par poprzez zbieranie elementów o tym samym indeksie z dwóch lub więcej iteraboli. Tak więc funkcja „ZIP” odbiera element z iterable zwróconej z funkcji „0, 7, 2)” i innego elementu z listy „Number”, a następnie łączy je oba w krotek. Wynik końcowy jest identyczną implementacją z funkcją „wyliczania”, ale z niestandardowymi krokami określonymi jako trzeci argument w funkcji „0, 7, 2)” (2 w tym przypadku). Po uruchomieniu próbki kodu określonej powyżej należy uzyskać następujące dane wyjściowe:
0 ZeroWniosek
Funkcja „wylicz” w Pythonie pozwala napisać zwięzły kod, przypisując sekwencję liczbową do elementów w obiekcie iterowalnym. Jest to naprawdę przydatne, jeśli chcesz śledzić indeks elementów wewnątrz typu iterowalnego. Jeśli chcesz „wyliczyć” typy iterowalne za pomocą niestandardowych kroków, użyj funkcji „ZIP” wyjaśnionej w ostatnim przykładzie.