Úvod do Iterator v Pythonu
Iterátor v pythonu je metoda, která smyčky programuje prostřednictvím protokolu iterátorů. Tento koncept se skládá ze dvou klíčových prvků, iterátoru a iterátoru. Objekt, na kterém iterátor iteruje, se nazývá iterovatelný. Protokol iterátoru je vytvořen pomocí tří segmentů.
- Konstruktor je dosažen pomocí funkce init a je zde přiřazena maximální hodnota pro iteraci.
- Pro přiřazení počáteční hodnoty se používá speciální funkce __iter__.
- Pro opakování každé hodnoty iterátoru se používá speciální funkce __next__.
Příklady pro Python Iterator
Níže jsou uvedeny různé příklady Iterátoru v Pythonu:
Příklad č. 1 - Ukázkový protokol iterátoru
class sample:
# Constructor
def __init__(self, limit_value):
self.limit_value = limit_value
# Called when iteration is initialized
def __iter__(self):
self.iterator = 0
return self
# To move to next element.
def __next__(self):
# Store current value ofx
x = self.iterator
# Stop iteration if limit is reached
if x > self.limit_value:
raise StopIteration
# Else increment and return old value
self.iterator = iterator + 1;
return iterator
Příklad č. 2 - Ručně řízený program Iterator
V níže uvedeném programu je proces iterátoru ručně řízen v samotném programu statickým vyvoláním metod inicializace iterátoru a sekvenčních metod iterátoru.
class sample:
# Constructor
def __init__(self, lastelement):
self.lastelement = lastelement
def __limit__(self):
return self.lastelement
# initialization of iteration
def __iter__(self):
self.iterator_value = 1
return self.iterator_value
# move to next value or element.
def __next__(self):
# ofx current value stopped
iterator_value = self.iterator_value
# iteration stopped on limit reached
if iterator_value > self.lastelement:
raise StopIteration
# Else increment and return old value
self.iterator_value = iterator_value + 1;
return iterator_value
# declaration of object
# processed count
var1=int(input( " Enter the limit : " ) )
Object = sample(var1)
iterator = Object.__iter__()
loopcount = Object.__limit__()
while(iterator < loopcount):
print("The value of iterator now is : ", iterator)
iterator = Object.__next__()
Příklad č. 3 - Vestavěné Iterátory
Níže uvedený program předpokládá použití iterátoru nad vestavěnými pythonovými entitami, jako je seznam, n-tice, řetězec, slovník.
# A list value is been iterated
print("Iteration over a list")
l = ( " One ", " Two ", " Three ", " Four ", " Five " ) for iterator_element in l:
print(iterator_element)
# A tuple value is being iterated
print("\n Iteration on a tuple ")
t = ( " One ", " Two ", " Three ", " Four ", " Five " )
for iterator_element in t:
print(iterator_element)
# A string value is been iterated
print("\n Iteration on a String")
s = "Test"
for iterator_element in s :
print(iterator_element)
# A dictionary value is been iterated
print("\n Iteration on a dictionary element")
d = dict()
d( '1234567890' ) = 1
d( 'abcdefghij' ) = 2
for iterator_element in d :
print("%s %d" %(iterator_element, d(iterator_element)))
Vysvětlení: program iteruje přes čtyři různé iterovatelné objekty, jako je seznam, n-tice, řetězec a slovník s iterátorem „i“.
Výstup :
Příklad č. 4 - Řídicí příkaz smyčky
Tento program iteruje prostřednictvím sady daných typů vozidel a vytiskne odpovídající automobily na trhu pod každým z uvedených typů. tohoto procesu je dosaženo dvěma instancemi opakování chvíli a smyčkou for for vnořenou do chvíle. Klíčovým prvkem, který je třeba poznamenat, je to, že smyčka for se provádí přes seznam pomocí specifické hodnoty iterátoru.
# PYTHONOVÝ PROGRAM POUŽÍVÁNÍ PROHLÁŠENÍ O KONTROLE LOOPU #
var_a = 1
var_b = 2
while var_a < var_b:
var_c = ( " SUV ", " sedan ", " hatchback ", " End " ) for iterator in var_c:
if iterator == " SUV ":
print( " Jeep " )
print( " Kia Seltos " )
print( " Suzuki Ertiga " )
print( " Huyndai venue " )
print( " Scorpio " )
print( " Hyundai Creta " )
print( " ----- END OF SUV CARS -------- " )
if iterator == " sedan " :
pass
if iterator == " hatchback " :
print( " Hyundai i20 " )
print( " suzuki alto " )
print( " Renault KWID" )
print( " Wagon R " )
print( " Tata Tiago " )
print( " Maruti Ceerio " )
print( " Hyundai Santro " )
print( " Tata Nano " )
print( " --------------- " )
if iterator == "End":
break
var_a = var_a+1
Výstup :
Příklad č. 5 - Pro smyčku
Tento program používá pro návrh datového typu kolekce slovníku iterátor orientovaný na smyčkovou techniku. tento datový typ kolekce je vytvořen hromaděním dvou nezávislých prvků seznamu.
# Program for list to dictionary concatenation #
#Variable declaration
Key_elements=() value_elements=() # Total nuumber of elements to be processed
var1=int(input( " Count of elements for the dictionry : " ) )
print("--------------------KEY_ELEMENTS-----------------------")
for x in range(0, var1):
element= int ( input ( " Element value entered " + str(x+1) + " : " ) )
Key_elements.append(element)
print("--------------------VALUE_ELEMENTSS---------------------")
for x in range(0, var1):
element= int ( input (" Element value entered" + str(x+1) + ":"))
value_elements.append(element)
d= dict ( zip ( Key_elements, value_elements ) )
#Print Section
print("The dictionary formulated is:")
print(d)
výstup
Výhody pythonových smyček
- Klíčové výhody iterátorů jsou níže,
- Redukce kódu
- Redundance kódu je velmi vyřešena
- Snižuje složitost kódu
- Vnáší do kódování větší stabilitu
Závěr - Iterátor v Pythonu
Dominance projevů jakéhokoli programovacího jazyka závisí na utajované sadě kódovacích funkcí. V takovém případě je iterační zdroj programování pythonu v zásadě stabilní a pružný k kódu, díky čemuž je jedním z předchozích důvodů, díky nimž tento jazyk ovládá trh. Koncepty podobných iterátorů dělají python mezi nejsofistikovanějším jazykem vývoje programu a navíc se jazyk vyznačuje takovým významem v prostředí vývoje softwaru.
Doporučené články
Toto byl průvodce Iterátorem v Pythonu. Zde také diskutujeme výhody Iterátoru v Pythonu a příklady. Další informace naleznete také v následujících článcích -
- String Array v Pythonu
- Zpracování výjimek Pythonu
- Factorial v Pythonu
- Smyčky v Pythonu
- Co je pole řetězců?
- Průvodce různými příkazy k ovládání v C ++