Tuple in Python – Part 2

Tuple in Python – जब हम किसी Single Data Item को Specify करते हुए Tuple Create करने के लिए निम्‍नानुसार Statement लिखते हैं-

tplNames6 = (‘YADAV’)

तब Python इसे Tuple की तरह नहीं बल्कि एक Higher Priority वाले Simple Expression की तरह Treat करता है। इसलिए एक Single Data Item वाले Tuple Object को Create करने के लिए हमें इस Statement को एक Extra Comma को Specify करते हुए निम्‍नानुसार तरीके से लिखना चाहिए-

tplNames7 = (‘YADAV’,)

इतना ही नहीं, Python हमें इस तरह के Statement में Parenthesis को Omit करने की सुविधा भी देता है। यानी यदि हम चाहें तो निम्‍नानुसार तरीके से भी एक Tuple Create कर सकते हैं-

tplNames7 = ‘YADAV’,

और एक से ज्‍यादा Tuple Items को Comma से Separated रखते हुए Specify कर सकते हैं। हालांकि हम Tuple को इस तरह से Specify कर सकते हैं, लेकिन बेहतर यही होता है कि हम हमेंशा Parenthesis का प्रयोग करते हुए ही Tuple को Declare करें, ताकि हमारे किसी भी Program में कभी भी किसी भी तरह का Confusion होने की सम्‍भावना ही न रहे।

जब हम Concatenation, Multiply Operator अथवा Slicing का प्रयोग करते हैं, तब हमेंशा एक नया Tuple Create होकर Return होता है और इन Newly Created Tuple के साथ हम उन Methods को Use नहीं कर सकते, जिन्‍हें Strings, Lists या Dictionaries के साथ Use किया जा सकता है।

इसलिए ऐसे किसी Tuple को Sort करने के लिए हमें पहले ऐसे Tuple को List में Convert करना पड़ता है और फिर उस List को Sort करना होता है। क्‍योंकि List के Data Items Mutable होते हैं, इसलिए अपनी Position को Change कर सकते हैं जबकि Tuple के Data Items अपनी Position को Change नहीं कर सकते क्‍योंकि Tuple Immutable होते हैं।

इसीलिए  Tuple की Sorting करने के लिए हमने हमारे Program में निम्‍नानुसार तरीके से पहले Tuple को List में Convert किया है-

lstNames = list(tplNames3)

और फिर उस List पर Sorting Statement को निम्‍नानुसार Specify किया है-

lstNames.sort()

जबकि इसी काम को निम्‍नानुसार तरीके से sorted() Function का प्रयोग करते हुए एक Single Statement के रूप में भी किया जा सकता है-

lstSorted = sorted(tplNames3)

जब एक बार List की Sorting हो जाती है, उसके बाद उस List को फिर से Tuple में Convert करने के लिए tuple() Constructor को निम्‍नानुसार तरीके से Use किया जाता है-

tplNames8 = tuple(lstNames)

हम Tuples पर भी उसी तरह से for … in Loop का प्रयोग कर सकते हैं, जिस तरह से किसी अन्‍य Sequence के साथ करते हैं। इसीलिए निम्‍नानुसार तरीके से for … in Loop का प्रयोग करते हुए हमने tplNames3 के सभी नामों को One by One Access किया है और प्रत्‍येक नाम के साथ एक Blank Space युक्‍त tplNames6 में Stored Data Item को Concatenate कर दिया है-

lstFullName = [name + ” ” + tplNames6 for name in tplNames3]

परिणामस्‍वरूप जब ये Statement Execute होता है, तो हमें जो Resultant List प्राप्‍त होता है, उसमें Full Names के रूप में Exist Data Items निम्‍नानुसार होते हैं-

[‘KRISHNA YADAV’, ‘MURARI YADAV’, ‘SHYAM YADAV’, ‘BIHARI YADAV’]

Tuple के Data Items को Access करने के लिए हम index() Method को भी Use कर सकते हैं। ये Method पहले Parameter के रूप में उस Data Item को Accept करता है, जिसे Tuple से Access किया जाना है और Return Value के रूप में उस Data Item के First Occurrence का Index Position Return कर देता है।

print(tplNames4.index(‘BIHARI’))

जबकि दूसरे Parameter के रूप में हम एक Integer Number Specify कर सकते हैं, जिसके माध्‍यम से हम ये बताते हैं कि हमें किसी Next Occurrence का Index Number Return करना है।

यानी यदि एक ही Dictionary में समान Data Item Multiple Times Exist हो, तो हमें उस Data Item के किस Occurrence का Index Number Return करना है, इस बात को हम दूसरे Parameter के रूप में Specify करते हैं। जबकि Default रूप से इस दूसरे Parameter का मान 1 होता है, जो कि First Occurrence को ही Represent करता है। जैसे-

print(tplNames4.index(‘KRISHNA’,2), “\n”)

जबकि किसी Tuple में एक ही Data Item कितनी बार Exist है, इसका पता लगाने के लिए हम निम्‍नानुसार तरीके से Tuple के count() Method को Use कर सकते हैं-

print(tplNames4.count(‘BIHARI’))

हालांकि Tuple एक Immutable Core Type है, इसलिए इसके किसी Data Item को हम In-Place Change नहीं कर सकते, लेकिन किसी Immutable Core Type में Data Item के रूप में यदि कोई ऐसा Mutable Data Object Exist हो, जिसमें In-Place Change किया जा सकता हो, तो हम उस Data Object में In-Place Change कर सकते हैं और इसी बात को Current Program के निम्‍नानुसार अन्तिम Statement द्वारा Specify किया गया है-

tplNames9 = (‘KRISHAN’,[‘BANWARI’,’MOHAN’], ‘MURARI’)

tplNames9[1][0] = ‘SHYAM’

जब इस tplNames9 के Index Number 1 पर Exist List Object के Index Position 0 पर Exist Name ‘BANWARI’ को ‘SHYAM’ से Replace किया जाता है, तो वास्‍तव में हम एक Tuple के अन्‍दर Exist List के Data Item को In-Place Change कर रहे हैं, जो कि सम्‍भव है।

लेकिन यदि हम इस Tuple के स्‍वयं के Index Position 0 पर Exist Name ‘KRISHNA‘ को In-Place Change करना चाहें, तो Python हमें ऐसा नहीं करने देता, क्‍योंकि Tuple एक Immutable Core Type होता है और  इसके Data Items को In-Place Change नहीं किया जा सकता।

हालांकि TuplesLists काफी हद तक समान काम ही करते हैं, लेकिन Tuples का प्रयोग तभी किया जाता है, जब हमें ऐसे Data के साथ Deal करना होता है, जो कि हमारे पूरे Program के दौरान Constant रहने वाले हैं।

उदाहरण के लिए हमारे Program में यदि Days of Week या Months of Year के नामों को Use किया जाना हो, तो उन्‍हें Tuple के माध्‍यम से Represent किया जाना Best तरीका होता है क्‍योंकि ये नाम पूरे Program के दौरान कहीं भी Change नहीं हो सकते। यानी MONDAY पूरे Program के दौरान कहीं भी JANUARY नहीं हो सकता।

इसी तरह से जब हम Sparse Matrix Represent करते हैं, तब उसके प्रत्‍येक Matrix Position को Tuple द्वारा ही Represent किया जाता है।

Python Tuples with Example
File Management in Python

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