Python IterTools

Python IterTools
Kod oparty na iteratorze jest bardziej wydajny niż kod ogólny, ponieważ zwiększa wydajność programu poprzez zmniejszenie użycia pamięci. IterTools jest bardzo przydatnym modułem Pythonu, który jest używany do generowania różnych rodzajów iteratora. Funkcje tego modułu są używane na iteratorze do generowania bardziej złożonego iteratora. Niektóre przydatne funkcje modułu iTerTools pokazały w tym samouczku za pomocą wielu skryptów Python.

Rodzaje iteratora:

Różne typy iteratorów w module IterTools podano poniżej:

  1. Nieskończone iteratorzy
  2. Iteratory kombinatorskie
  3. Zakończenie iteratorów

Nieskończone iteratorzy:

Obiekty iteratora są przemierzane za pomocą 'Do' pętla. Lista, słownik, krotek to przykłady obiektu iteratora. Nieskończone iteratory nazywane są nieskończonym iteratorem. Niektóre nieskończone funkcje iteratora są wymienione poniżej.

Powtórz (wartość [, num])

Pierwszy argument tej funkcji jest obowiązkowy, a drugi argument jest opcjonalny. Służy do powtórzenia wartości obiektu iteratora nieskończone czasy.

cykl ()

Służy do drukowania wartości obiektu iteratora w kolejności cyklicznej.

Count (start [, krok])

Pierwszy argument tej funkcji jest obowiązkowy, a drugi argument jest opcjonalny. Służy do drukowania wartości obiektu iteratora od wartości rozpoczęcia do nieskończonych czasów. Jeśli podano drugi etap argumentu, wartości zostaną wydrukowane przez pomijanie tej liczby kroków.

Przykład-1: użycie nieskończonych iteratorów

Utwórz plik Pythona z następującym skryptem, aby poznać sposoby używania funkcji powtórka () i cycle (). Tutaj funkcja powtórzeń () wydrukuje znak „*” 10 razy, a funkcja Cycle () będzie okrągłego wydrukowania wartości listy.

# Dołącz moduł iTerTools
importować itertools
Drukuj („Wydrukuj znak wielokrotnie za pomocą powtórz ():”)
# Za pomocą funkcji powtórz ()
wydrukuj (lista (itertools.powtórz („*”, 10)))
# Zdefiniuj listę liczb
ListData = [1, 2, 3, 4, 5]
# Zdefiniuj iterator, aby odczytać listę w okrągły sposób
iterator = iTerTools.Cykl (ListData)
# Wydrukuj dane listy na podstawie wartości zakresu
Drukuj („\ nprint wartości listy w okrągły sposób:”)
dla Iin Range (12):
# Wydrukuj wartości za pomocą metody Next () i obiektu iteratora
print (następny (iterator), end = "\ t")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. W pierwszym wyjściu wartość znaku „**” powtórzono 10 razy za pomocą funkcji powtórz (). W drugim wyjściu wartości listy są drukowane w kolejności okrągłej w 12 iteracjach 'Do' pętla.

Iteratory kombinatorskie:

Generator rekurencyjny służy do uproszczenia złożonych konstruktów kombinatorycznych. Poniżej przedstawiono przykłady iteratorów kombinatorów.

  1. Produkty kartezjańskie
  2. Permutacje
  3. kombinacje

produkt():

Służy do obliczania kartezjańskiego produktu wejściowych obiektów. Opcjonalny argument powtórzeń słów kluczowych służy do powtarzania wartości wszystkich możliwych kombinacji. Zwraca dane wyjściowe w postaci krotek.

permutacje ():

Służy do wydrukowania wszystkich możliwych permutacji iteracyjnego obiektu.

kombinacje ():

Służy do drukowania wszystkich możliwych kombinacji bez zastępowania obiektu iteracyjnego.

Przykład-2: Zastosowanie produktu () do obliczenia produktu kartezjańskiego

Utwórz plik Python z następującym skryptem, aby sprawdzić zastosowania funkcji produktu (. Pierwsza funkcja produktu () obliczy kartezjański produkt listy i znak. Druga funkcja produktu () obliczy kartezjański produkt listy za pomocą powtarzającego się słowa kluczowego. Trzecia funkcja produktu () obliczy kartezjański produkt ciąg dwóch znaków i listy.

# Importuj produkt z IterTools
Z produktu Itertoolsimport
# Wydrukuj kartezjański produkt pojemnika i charakteru
Drukuj („Oblicz kartezjański produkt pojemnika i charakteru:”)
druk (lista (produkt ([1, 2, 3], „a '))))
# Wydrukuj kartezjański produkt pojemnika za pomocą powtórnego słowa kluczowego
Drukuj („\ ncalculate the Cartesian Product za pomocą powtarzającego się słowa kluczowego:”)
print (lista (produkt (['python', „Linuxhint '], powtórz = 2))))
# Wydrukuj kartezjański produkt znaku i kontenera
Drukuj („\ ncalculate the kartezjański produkt znaku i kontenera:”)
print (lista (produkt („ab”, [1, 2, 3]))))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. W pierwszym wyjściu trzy krotki zostały wygenerowane przy użyciu trzech elementów listy i znaku „A”, ponieważ 31 to 3. W drugim wyjściu wygenerowano cztery krotki przy użyciu dwóch elementów listy o wartości powtarzalnej, 2 ponieważ 22 jest 4. W trzeciej wyjściu wygenerowano sześć krotek za pomocą ciągu, „ab” i listy trzech elementów, ponieważ 32 jest 6.

Zakończenie iteratorów:

Służy do pracy z małą sekwencją wejściową, a wyjście jest generowane na podstawie funkcji używanej przez iterator. Funkcja łańcucha () jest jedną z funkcji używanych dla końcowego iteratora.

łańcuch (ITER1, ITER2):

Służy do drukowania wszystkich wartości iterabalnego obiektu w postaci łańcucha.

Przykład-3: użycie funkcji łańcucha () do łączenia dwóch wartości listy

Utwórz plik Pythona z następującym skryptem, aby scalić wartości dwóch list za pomocą funkcji łańcucha (). Dwie listy zawierają nazwę uczniów. Wartości drugiej listy zostaną dodane na końcu pierwszej listy przed wydrukowanie wyjścia.

# Importuj produkt z IterTools
importować itertools
# Deklaruj pierwszą listę uczniów
std_list1 = [„Mehrab Hossain”, „Riya Chakroborty”, „Minhazkazi”]
# Deklaruj drugą listę uczniów
std_list2 = [„Zinia Rahman”, „Sadia Akter”]
Drukuj („Wartości scalonej listy:”)
# Scal dwie listy za pomocą funkcji łańcucha ()
wydrukuj (lista (itertools.łańcuch (std_list1, std_list2))))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Połączone wartości listy zostały wydrukowane na wyjściu.

Wniosek:

Cele modułu iTerTools i zastosowania niektórych funkcji IterTools zostały pokazane w tym samouczku za pomocą wielu przykładów, aby pomóc użytkownikom Python poznać korzystanie z tego modułu.