Увод у Итератор у Питхон-у
Итератор у питхону је метода која програм петља кроз протокол итератора. Овај концепт се састоји од два кључна елемента, итератора и итератора. Објект око којег итератор понавља, назива се поновљивим. Протокол итератора је изграђен помоћу испод три сегмента.
- Конструктор се постиже помоћу инит функције и овде је додељена максимална вредност за понављање.
- Посебна функција __итер__ користи се за доделу почетне вредности.
- Посебна функција __нект__ користи се за петље кроз сваку вриједност итератора.
Примери за Питхон Итератор
Испод су различити примери Итератора на Питхону:
Пример бр. 1 - протокол узорка итератора
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
Пример бр. 2 - Ручно покретани програм Итератор
У доњем програму се процес итератора ручно покреће у самом програму статичким позивањем метода иницијализације итератора и секвенцирања итератора.
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__()
Пример # 3 - Уграђени итератори
Програм испод подразумева употребу итератора над уграђеним ентитетима питхон-а као што су листа, тупле, стринг, дицтионари.
# 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)))
Објашњење: програм итератира кроз четири различита итерабилна објекта, као што су листа, тапис, низ и речник помоћу итератора „и”.
Излаз:
Пример # 4 - Изјава о контроли петље
Овај програм понавља кроз скуп задатих типова аутомобила и штампа одговарајуће аутомобиле на тржишту под сваком од наведених типова. овај процес се постиже кроз два случаја петље и неко време за уметање петље. Кључни елемент који треба напоменути је да се петља фор врши преко листе помоћу одређене вриједности итератора.
# ПИТХОН ПРОГРАМ СА КОРИШТЕЊЕМ ИЗВЕШТАЈА О ЛООП ЦОНТРОЛ #
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
Излаз:
Пример бр. 5 - За петљу
Овај програм користи итератор оријентисан за технику петље за дизајнирање типа података за збирку речника. овај тип података збирке је формулисан гомилањем два независна елемента листе.
# 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)
излаз
Предности питонских петљи
- Кључне предности итератора су у наставку,
- Смањивање кода
- Прекомјерност кода је увелико ријешена
- Смањује сложеност кода
- Уноси више стабилности у кодирање
Закључак - Итератор у Питхон-у
Доминација која показује знакове било којег програмског језика зависи од класификованог скупа функција кодирања. У таквом случају, итерацијски ресурс за програмирање Питхон-а је у принципу стабилан и прилагодљив за код, што га чини једним од претходних разлога због којих овај језик доминира на тржишту. Концепти попут итератора чине питон међу најсофистициранијим језиком за развој програма, а уз то језик има такву важност у окружењу за развој софтвера.
Препоручени чланци
Ово је водич за Итератор у Питхон-у. Овде такође расправљамо о предностима Итератора у Питхону и примерима. Можда ћете такође погледати следеће чланке да бисте сазнали више -
- Низ низова у Питхон-у
- Руковање изузетком Питхона
- Факторориал у Питхон-у
- Петље у Питхон-у
- Шта је низ струна?
- Водич за различите изјаве о контроли у језику Ц ++