for Loop Example

for Loop Example – यदि हम एक Simple Example द्वारा एक for Loop Statement को Practically Use करें, तो हमारा Example Program कुछ निम्‍नानुसार हो सकता है, जिसे हमने पहले भी काफी विस्‍तार से देखा है-

[code]
FileName: forLoop.py
lstNames = ['KRISHNA','MURARI','SHYAM','MANOHAR','BIHARI']
print("Names in the List are as follows:")
for varName in lstNames:
    print(varName, end=' ')

Output
Names in the List are as follows:
KRISHNA MURARI SHYAM MANOHAR BIHARI
[/code]

इस Example में सबसे पहले हमने एक lstNames नाम के List Object में कुछ Names को Data Items की तरह Store किया है और फिर एक for … in Loop द्वारा lstNames Object के प्रत्‍येक Data Items को One by One varName नाम के Variable में Receive करके print() Function द्वारा Output में Print कर दिया है।

चूंकि जब तक lstNames Object में कोई भी Unscanned Name Exist होता है, lstNames True रहता है और जब तक lstNames True रहता है, Loop का Pointer Next Data Item पर Move करता जाता है और उसे varName में Store करता जाता है। परिणामस्‍वरूप हमें lstName List Object में Stored सभी Names Output में Display हो जाते हैं।

अन्‍त में जब lstNames List Object में एक भी Unscanned Name Exist नहीं रहता, lstNames False हो जाता है, परिणामस्‍वरूप Program Control, for Loop की Body में Entry नहीं करता और Program का अन्‍त हो जाता है।

जरूरी नहीं है कि हम किसी Object को ही for Loop के साथ Specify करें। हम बिना Object Declare किए हुए Anonymous Object को भी ठीक इसी तरह से Traverse कर सकते हैं। इसे समझने के लिए हम हमारे पिछले Example को ही निम्‍नानुसार Modify कर सकते हैं-

[code]
FileName: forLoopAnonymousObject.py
print("Names in the List are as follows:")
for varName in ['KRISHNA','MURARI','SHYAM','MANOHAR','BIHARI']:
    print(varName, end=' ')

Output
Names in the List are as follows:
KRISHNA MURARI SHYAM MANOHAR BIHARI
[/code]

जब हम Database Applications के साथ Deal कर रहे होते हैं, तब कई बार हमारे पास Tuple Objects का एक List होता है। इस तरह की List के प्रत्‍येक Data Item के रूप में जो Tuple Object होता है, उसे भी हम for … in Loop के माध्‍यम से काफी आसानी से Access कर सकते हैं। जैसे-

[code]
FileName: accessingTuplesFromList.py
tplRecords = [('KRISHN',5),('SHYAM',6),('MOHAN',4),('MADHAV',5)]
print("Record Details: \n", tplRecords, "\n")
print("Name \t\t Age")
for (name, age) in tplRecords:
    print(name, "\t\t ", age)

Output
Record Details:
 [('KRISHN', 5), ('SHYAM', 6), ('MOHAN', 4), ('MADHAV', 5)]

Name         Age
KRISHN        5
SHYAM         6
MOHAN         4
MADHAV        5
[/code]

जब ये Program Run होता है, तब tplRecords Object के प्रत्‍येक Data Item को for … in Loop द्वारा Return किया जाता है और प्रत्‍येक Iteration में एक Tuple Return होगा, जिसे Accept करने के लिए भी एक Tuple Object की ही जरूरत है। इसीलिए हमने for…in Loop में Target के रूप में (name, age) Tuple को Define किया है।

परिणामस्‍वरूप प्रत्‍येक Iteration में tplRecords Object से एक Tuple Object Return होता है और Tuple Object के दोनों Data Items (name, age) Tuple में Store हो जाते हैं, जिन्‍हें for Statement Block में Print करवा दिया जाता है और ये for … in Loop तब तक चलता रहता है, जब तक tplRecords में एक भी Data Item Unscanned रहता है।

क्‍योंकि जब तक tplRecords Object में एक भी Data Item Unscanned रहता है, तब तक for … in Loop के लिए tplRecords Object True रहता है और जब तक tplRecords Object True रहता है, तब तक for … in Statement Block Execute होता रहता है।

लेकिन जैसे ही tplRecords Object में एक भी Data Item Unscanned नही बचता, for … in Loop के लिए tplRecords Object False हो जाता है और Program Control, for … in Loop के Statement Block में Entry नहीं करता। जिसकी वजह से Program Exit हो जाता है।

सामान्‍यत: for … in Loop में Tuples को इस तरह से zip() Function Call के साथ तब Use किया जाता है, जिसके माध्‍यम से Parallel Traversal Perform किया जा सकता है। साथ ही इस तरीके का प्रयोग Python के साथ SQL Database को Use करते समय भी किया जाता है, जहां SQL Query के Results, Sequences के Sequences की तरह होते हैं, जैसाकि इस Example Code में हैं, जहां Outer List एक Database Table है जबकि Nested Tuples, उस Table के Records हैं और Tuple के Assignments, Table के Columns हैं।

Tuples की तरह ही हम Dictionaries को भी for … in Loop के माध्‍यम से Traverse कर सकते हैं और Dictionary के KeyValue दोनों को items() Method के माध्‍यम से Access and Manipulate कर सकते हैं और Traversing का ये तरीका Dictionary के Data Items की Values को Keys की Indexing के माध्‍यम से Access and Manipulate करने की तुलना में काफी आसान होता है। इन दोनों तरीकों को समझने के लिए हम निम्‍नानुसार एक Example Program Create कर सकते हैं-

[code]
FileName: dictWithforLoop.py
dicRecord = {'fname':'KRISHN','lname':'YADAV','age':4}
print("Record Detail using Dictionary Indexing:")
for key in dicRecord:
    print(key, "\t:\t", dicRecord[key])

print()

print("Record Detail using items() Method:")
#Translate key:value into List Object

list(dicRecord.items())

#Traverse using items() Method
for (key,value) in dicRecord.items():
    print(key, "\t:\t", value)

Output
Record Detail using Dictionary Indexing:
fname   :    KRISHN
lname   :    YADAV
age     :    4

Record Detail using items() Method:
fname   :    KRISHN
lname   :    YADAV
age     :    4
[/code]

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS