Python iterertools

Python iterertools
Den iteratorbaserte koden er mer effektiv enn den generelle koden fordi den øker ytelsen til programmet ved å redusere bruken av minne. Iterertools er en veldig nyttig modul av pyton som brukes til å generere forskjellige typer iterator. Funksjonene til denne modulen brukes på iteratoren for å generere en mer kompleks iterator. Noen nyttige funksjoner av Iterertools -modulen har vist i denne opplæringen ved å bruke flere Python -skript.

Typer iterator:

Ulike typer iteratorer i Iterertools -modulen har gitt nedenfor:

  1. Uendelige iteratorer
  2. Kombinatoriske iteratorer
  3. Avslutte iteratorer

Uendelige iteratorer:

Iteratorobjektene er krysset ved å bruke 'til' Løkke. Liste, ordbok, tuple er eksempler på iteratorobjektet. De uendelige iteratorene kalles den uendelige iteratoren. Noen uendelige iteratorfunksjoner er nevnt nedenfor.

Gjenta (verdi [, num])

Det første argumentet for denne funksjonen er obligatorisk, og det andre argumentet er valgfritt. Det brukes til å gjenta verdiene til iteratorobjektet uendelige tider.

syklus ()

Det brukes til å skrive ut verdiene til iteratorobjektet i syklisk rekkefølge.

tell (start [, trinn])

Det første argumentet for denne funksjonen er obligatorisk, og det andre argumentet er valgfritt. Det brukes til å skrive ut verdiene til iteratorobjektet fra startverdien til uendelige tider. Hvis det andre argumentetrinnet er gitt, vil verdiene bli skrevet ut ved å hoppe over det antall trinn.

Eksempel-1: Bruk av uendelige iteratorer

Lag en Python -fil med følgende skript for å kjenne måtene å bruke repetisjon () og syklus () -funksjonen. Her vil repetisjonen () -funksjonen skrive ut tegnet '*' 10 ganger, og syklusen () -funksjonen vil sirkulært skrive ut listeverdiene.

# Inkluderer iterertools -modul
Importer iterertools
print ("Skriv ut et tegn for flere ganger ved hjelp av repetisjon ():")
# Bruke repetisjon () -funksjon
Skriv ut (liste (iterertools.gjenta ('*', 10))))
# Definer en liste over tall
listData = [1, 2, 3, 4, 5]
# Definer en iterator for å lese listen på sirkulær måte
iterator = iterertools.Cycle (ListData)
# Skriv ut listedataene basert på områdeverdien
print ("\ nprint listeverdiene på sirkulær måte:")
for iin Range (12):
# Skriv ut verdiene ved å bruke Next () Metode og iteratorobjekt
print (neste (iterator), end = "\ t")

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. I den første utgangen har karakteren '*' verdien blitt gjentatt 10 ganger ved å bruke repetisjonsfunksjonen. I den andre utgangen skrives listeverdiene i sirkulær rekkefølge i 12 iterasjoner av 'til' Løkke.

Kombinatoriske iteratorer:

Den rekursive generatoren brukes til å forenkle de komplekse kombinatoriske konstruksjonene. Følgende er eksempler på kombinatoriske iteratorer.

  1. Kartesiske produkter
  2. Kombinasjonsmuligheter
  3. Kombinasjoner

produkt():

Det brukes til å beregne det kartesiske produktet fra Itable -objekter. Det valgfrie gjentatte søkeordargumentet brukes til å gjenta verdiene for alle mulige kombinasjoner. Den returnerer output i form av tuples.

kombinasjonsmuligheter():

Det brukes til å skrive ut alle mulige permutasjoner av et iterable objekt.

Kombinasjoner ():

Det brukes til å skrive ut alle mulige kombinasjoner uten å erstatte det iterable objektet.

Eksempel-2: Bruk av produkt () for å beregne det kartesiske produktet

Lag en Python -fil med følgende skript for å sjekke bruken av produktet () -funksjonen for å beregne det kartesiske produktet fra det iterable objektet. Den første produkt () -funksjonen vil beregne det kartesiske produktet av en liste og et tegn. Den andre produkt () -funksjonen vil beregne det kartesiske produktet fra en liste med gjentatt nøkkelord. Den tredje produkt () -funksjonen vil beregne det kartesiske produktet til en streng med to tegn og en liste.

# Importer produkt fra iterertools
Fra iterertoolsimport -produkt
# Skriv ut det kartesiske produktet av en beholder og karakter
Print ("Beregn det kartesiske produktet fra en beholder og karakter:")
Print (liste (produkt ([1, 2, 3], 'A')))
# Skriv ut det kartesiske produktet av en beholder ved hjelp av repetisjons nøkkelord
print ("\ ncalculate det kartesiske produktet ved hjelp av gjentatt nøkkelord:")
trykk (liste (produkt (['Python', 'Linuxhint'], gjenta = 2)))
# Skriv ut det kartesiske produktet av et tegn og beholder
print ("\ ncalculate det kartesiske produktet av en karakter og container:")
Print (List (Produkt ('AB', [1, 2, 3])))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. I den første utgangen ble tre tuples generert ved bruk av tre elementer på listen og tegnet, 'A' fordi 31 er 3. I den andre utgangen ble fire tuples generert ved å bruke to listeelementer med gjentatt verdi, 2 fordi 22 er 4. I den tredje utgangen ble seks tuples generert ved bruk av strengen, 'ab', og listen over tre elementer fordi 32 er 6.

Avslutte iteratorer:

Det brukes til å jobbe med den lille inngangssekvensen, og utgangen genereres basert på funksjonen som brukes av iteratoren. Kjeden () -funksjonen er en av funksjonene som brukes til å avslutte iteratoren.

kjede (iter1, iter2):

Det brukes til å skrive ut alle verdiene til det iterable objektet i form av en kjede.

Eksempel-3: Bruk av kjede () -funksjon for å kombinere to listeverdier

Lag en Python -fil med følgende skript for å slå sammen verdiene til de to listene ved å bruke kjeden () -funksjonen. To lister inneholder navnet på studentene. Verdiene på den andre listen vil bli lagt til på slutten av den første listen før du skriver ut utdata.

# Importer produkt fra iterertools
Importer iterertools
# Erklære den første studentlisten
STD_LIST1 = ['Mehrab Hossain', 'Riya Chakroborty', 'Minhazkazi']
# Erklære den andre studentlisten
STD_LIST2 = ['Zinia Rahman', 'Sadia Akter']
Print ("Verdiene på den sammenslåtte listen:")
# Slå sammen de to listen ved hjelp av kjede () -funksjon
Skriv ut (liste (iterertools.kjede (std_list1, std_list2)))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. De sammenslåtte verdiene på listen er skrevet ut i utgangen.

Konklusjon:

Formålene med Iterertools -modulen og bruken av noen Iterertools -funksjoner er vist i denne opplæringen ved å bruke flere eksempler for å hjelpe Python -brukerne til å kjenne bruken av denne modulen.