Użyj wylicz funkcji w Pythonie, aby tworzyć pętle z licznikami

Użyj wylicz funkcji w Pythonie, aby tworzyć pętle z licznikami

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++)

printf („%d \ n”, 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):
Drukuj (i)

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:

0
1
2
3
4
5
6
7
8
9

Te 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ęć”]
enumerated_numbers = wylicz (liczby)
W przypadku indeksu pozycja w enumerated_numbers:
Drukuj (indeks, pozycja)

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ęć”]
enumerated_numbers = wylicz (liczby)
W przypadku indeksu pozycja w enumerated_numbers:
Drukuj (indeks, pozycja)

Próbka kodu określona powyżej wytworzy następujące dane wyjściowe:

0 Zero
1 jeden
2 dwa
3 trzy
4 cztery
5 pięć

Możesz skrócić kod, używając funkcji „wyliczania”, jak pokazano w poniższej próbce:

numery = [„zero”, „jeden”, „dwa”, „trzy”, „cztery”, „pięć”]
W przypadku indeksu pozycja w wyliczaniu (liczby):
Drukuj (indeks, pozycja)

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 przypadku indeksu pozycja w wyliczaniu (liczby, start = 1):
Drukuj (indeks, pozycja)

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 jeden
2 dwa
3 trzy
4 cztery
5 pięć

Przypisywanie 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ść”]
dla indeksu, pozycja w ZIP (zakres (0, 7, 2), liczby):
Drukuj (indeks, pozycja)

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 Zero
2 dwa
4 cztery
6 sześć

Wniosek

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.