Nested Loop

Nested Loop को आसानी से समझने के लिए हम एक Simple सा Example Program Create कर सकते हैं, जिसमें दो List Objects हैं और पहले List Object में Exist विभिन्‍न Data Items में से दूसरे List Object में Exist Data Items को इस बात के लिए Check करना है कि वे पहले List Object में Exist हैं या नहीं।

[code]
FileName: Searching-NestedforLoop.py
#MainList - The List of Data Items
MainList = ["KRISHNA", 111, (40, 5), 12.12]

#Keys to Search in MainList
toBeSearched = [(40, 5), 3.14]

for key in toBeSearched:      #The keys to be searched in MainList
    for item in MainList:     #Items in MainList
        if item == key:       #Check for Match
            print(key, "exist in MainList.")
            break
        else:
            print(key, "doesn't exist in MainList.")

Output
(40, 5) exist in MainList.
3.14 doesn't exist in MainList.
[/code]

इस Example में हमने दो Lists Create की है। पहली List, MainList है, जबकि दूसरी List, toBeSearched List है, जिसके प्रत्‍येक Data Item को हमें MainList में Existence के लिए Check करना है।

इस जरूरत को पूरा करने के लिए हमें toBeSearched List में से एक-एक Data Item को Key की तरह Access करना है और फिर उस Data Item को MainList के प्रत्‍येक Data Item से Compare करना है। जैसे ही toBeSearched List का Key Item, MainList के किसी Item से Match करता है, हमें उस Item को Output में Print कर देना है, जबकि यदि कोई भी Item, MainList से Match नहीं करता, तो उस स्थिति में “key doesn’t exist in MainList का Message Print करना है।

जब ये Program Run होता है तो पहला for Loop Execute होते ही, toBeSearched List में से पहला Data Item, key में Store हो जाता है और Program Control पहले for के Statement Block में Enter करता है, जहां उसे दूसरा for Loop प्राप्‍त होता है। इस for Loop में MainList से पहला Data Item, item नाम के Variable में Store हो जाता है और Program Control दूसरे for Loop में Entry कर लेता है जहां एक if Statement द्वारा Outer Loop के key में Stored Data को Inner Loop के item से Compare करवाया जाता है।

यदि Compare किया जाने वाला Data Item, MainList में Exist होता है, तो ये if Statement True हो जाता है, परिणामस्‍वरूप “key exist in MainList का Message Print हो जाता है और Next Statement के रूप में break मिलने के साथ ही Program Control, Loop से Exit हो जाता है।

लेकिन यदि Compare किया जाने वाला Data Item, MainList में Exist नहीं होता, तो ये if Statement False हो जाता है, जिसके परिणामस्‍वरूप Program Control, Inner Loop को Repeat करता है और MainList के Next Item के साथ Outer Loop के Key को Compare करता है और ये प्रक्रिया तब तक Repeat होती रहती है, जब तक कि MainList के सभी Data Items के साथ Outer Loop के Key में Exist Data Item का Comparison न हो जाए।

जब एक बार Outer Loop के पहले Data Item के साथ Inner Loop के सभी Data Items का Comparison हो जाता है, उसके बाद Program Control फिर से Outer Loop में जाता है और toBeSearched List के Next Data Item को Key के रूप में Access करके फिर से Inner Loop में जाता है और MainList के सभी Data Items के साथ उसके Existence के लिए Compare करता है।

Outer Loop के प्रत्‍येक toBeSearched Data Item के लिए Inner Loop द्वारा MainList के सभी Data Items को तब तक Existence के लिए Compare किया जाता है, जब तक कि toBeSearched List के सभी Data Items, MainList के सभी Data Items के साथ Compare नहीं हो जाते।

जब हम Nested Loops का प्रयोग करते हैं, तब हमें केवल इतना ही समझना होता है कि जब तक Inner Loop True रहता है, तब तक Program Control, Outer Loop में नहीं आता। Inner Loop के False होने के बाद ही Program Control, Outer Loop में Return होता है और जब तक Outer Loop पूरी तरह से False नहीं हो जाता, तब तक Program का अन्‍त नहीं होता।

इसलिए Outer Loop यदि 4 बार चलता हो और Inner Loop यदि 5 बार चल सकता हो, तो Inner Loop के Statement Block का Execution 4 x 5 = 20 बार होगा। क्‍योंकि Outer Loop के प्रत्‍येक Iteration पर Inner Loop 5 बार Execute होगा।

पिछले Example की तरह ही हम निम्‍नानुसार एक और Example देख सकते हैं, जिसमें दो String Objects में से Source String में से उन Characters को एक List Object के रूप में Return करना है, जो कि Searching String में Exist नहीं हैं लेकिन इस Example में हमारी जरूरत केवल एक Single Loop से ही पूरी हो जाती है क्‍योंकि Python, String को एक Sequence की तरह ही Treat करता है-

[code]
FileName: String-NestedforLoop.py
#SourceString
strSource = "KRISHN YADAV"

# Characters to be Matched in SourceString
charsToBeMatched = "AEIOU"

#Empty List
lstResult = []

for char in strSource: # The chars to be matched in SourceString
    if char not in charsToBeMatched: # Check for Match
        lstResult.append(char)

print("Resultant Output without Characters 'AEIOU':\n", lstResult)

Output
Resultant Output without Characters 'AEIOU':
 ['K', 'R', 'S', 'H', 'N', ' ', 'Y', 'D', 'V']
[/code]

जब ये Example Program Run होता है, तो सबसे पहले strSource Object में एक Source String Store कर दिया जाता है, और charsToBeMatched String Object में एक Match String Store कर दिया जाता है, जिसे Source String के प्रत्‍येक Character से केवल इस बात के लिए Check करना है कि वह Character strSource में Exist है या नहीं।

फिर एक Empty List Object Create कर लिया गया है, जिसमें केवल उन Characters को Append कर दिया जाता है, जो कि charsToBeMatched String Object में Exist नहीं हैं।

जब for … in Loop Execute होता है, तो strSource से One by One एक-एक Character, char नाम के Variable में Store होता है और फिर Program Control, for Loop में Enter होकर if Loop पर इस बात को Compare किया जाता है कि जो Character char नाम के Variable में Stored है, वह Character charsToBeMatched Object में Exist है या नहीं।

यदि char नाम के Variable में Stored Character, charsToBeMatched Object में Exist नहीं है, तो if Statement True हो जाता है और Program Control if Statement Block में Entry करके lstResult Object में char Object में Stored Character को Append कर देता है तथा फिर से for Loop के Next Iteration पर चला जाता है, जहां इस बार वह strSource Object में Stored दूसरे Character को Access करता है और यही Process तब तक फिर से Repeat होता रहता है जब तक कि strSource Object के सभी Characters पूरी तरह से Scan and Compare नहीं हो जाते।

और अन्‍त में lstResult Object में वे केवल Characters Store हो जाते हैं, जो कि charsToBeMatched Object में Exist नहीं हैं, जिन्‍हें एक print() Function द्वारा Output में Display कर दिया जाता है।

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