Python Tuples with Example

Python Tuples with Example – Tuple, Python का अन्तिम Core Collection Type है जो कि Group of Objects का बना होता है। Tuples भी Exactly Lists की तरह ही काम करते हैं, अन्‍तर केवल इतना होता है कि Tuples को List की तरह In-Place Change नहीं किया जा सकता, क्‍योंकि ये String की तरह Immutable होते हैं। Tuples को Create करने के लिए हमें Literal Expression के रूप में Parenthesis ( ) को Use करना होता है।

हालांकि Tuples, उतने ज्‍यादा Methods को Support नहीं करते, जितने को Lists करते हैं, लेकिन फिर भी Tuples के साथ भी कुछ Specific जरूरतों को पूरा करने के लिए कुछ Methods का प्रयोग किया जाता है।

Tuples, List व String की तरह ही Arbitrary Objects का एक Ordered Collection होते हैं। यानी इसके सभी Data Items Left-to-Right Direction में एक निश्चित क्रम में Store होते हैं। साथ ही Lists व Dictionary की तरह ही इनमें भी Nesting कर सकते हैं और इन्‍हें स्‍वयं को भी अन्‍य Collection Types में Nest कर सकते हैं।

Tuples में Stored Data Items को भी Lists व Strings की तरह ही Index Number के माध्‍यम से Access and Manipulate किया जाता है। इसलिए Index Number पर आधारित सभी तरह के Indexing व Slicing Operations को Tuples पर भी Exactly उसी तरह से Use किया जा सकता है, जिस तरह से Lists व Strings पर किया जाता है।

Lists व Strings की तरह ही Tuples भी एक प्रकार का Sequence ही होते हैं, और विभिन्‍न प्रकार के Sequence Operations को समान रूप से Support करते हैं, लेकिन फिर भी Tuples पूरी तरह से Immutable होते हैं इसलिए ये किसी भी तरह के In-Place Change Operations को Support नहीं करते।

क्‍योंकि Tuples, Immutable होते हैं, इसलिए हम किसी Tuple की Actual Size को Program के Runtime में Change नहीं कर सकते, बल्कि यदि हमें किसी Tuple की Size को Change करना हो, तो हमें उस Tuple का एक नया Copy Create करना पड़ता है और उस Create होने वाले Tuple की Size को हम Actual Tuple की Size से Different रख सकते हैं।

Tuples किसी भी प्रकार के Object को Hold कर सकते हैं, यहां तक कि हम किसी Tuple में अन्‍य Complex Core Types जैसे कि Lists, Dictionary, या अन्‍य Tuple को भी Nest कर सकते हैं और ऐसा करने के लिए हमें किसी भी तरह का कोई Extra-Ordinary Process Follow नहीं करना पड़ता।

Lists की तरह ही Tuples भी एक प्रकार से Object References का Array होते हैं। लेकिन क्‍योंकि Tuples, Immutable होते हैं, इसलिए किसी भी अन्‍य Mutable Type की तुलना में इनकी Performance ज्‍यादा बेहतर होती है और ये Resources भी कम प्रयोग करते हैं।

Tuples द्वारा Perform किए जा सकने वाले विभिन्‍न प्रकार के Basic Operations को हमने Core Types Chapter के अन्‍तर्गत भी काफी विस्‍तार से Discuss किया था। इसलिए यहां हम उन Basic Operations को एक Simple Example का प्रयोग करते हुए केवल Revision के रूप में ही देखेंगे।

[code]
FileName: TuplesBasics.py
# Create Tuple Using Literal Expression
tplNames1 = ("KRISHNA","MURARI")
tplNames2 = ("SHYAM","BIHARI")
print("Names in tplNames1:", tplNames1)
print("Names in tplNames2:", tplNames2, "\n")

# Concatenate tplNames1 and tplNames2
tplNames3 = tplNames1 + tplNames2
print("Concatenation - Names in tplNames3:\n", tplNames3, "\n")

# Repetition of tplNames3 2 times
tplNames4 = tplNames3 * 2
print("Repetition - Names in tplNames4:\n", tplNames4, "\n")

# Return New Tuple Using Indexing and Slicing
tplNames5 = tplNames1[0], tplNames3[2:4]
print("Indexing and Slicing - Names in tplNames5:\n", tplNames5, "\n")

# Handling Single Item in the Tuple
tplNames6 = ('YADAV')
print("Wrong Way - If Single Item in Tuple tplNames6:", tplNames6)
tplNames7 = ('YADAV',) # OR tplNames7 = 'YADAV',
print("Right Way - If Single Item in Tuple tplNames7:", tplNames7, "\n")

# Create List using Tuple Items
lstNames = list(tplNames3)
print("Created List using Tuple Items:\n", lstNames, "\n")

# Create Sorted List of Tuple Items
lstNames.sort()
print("Created Sorted List:\n", lstNames, "\n")
lstSorted = sorted(tplNames3)
print("Created Sorted List using sorted:\n", lstSorted, "\n")

# Create Tuple using List Items
tplNames8 = tuple(lstNames)
print("Created Tuple using List Items:\n", tplNames8, "\n")

# Full Names using 'for .. in' Loop from Tuple Items
lstFullName = [name + " " + tplNames6 for name in tplNames3]
print("Created Tuple using List Items:\n", lstFullName, "\n")

# Accessing Data Items using index() Method
print("Index Number of Name 'BIHARI' in tplNames4:", end='')
print(tplNames4.index('BIHARI'))
print("Index Number of Name 'KRISHNA' 2nd Time in tplNames4:", end='')
print(tplNames4.index('KRISHNA',2), "\n")
print("How Many Times Name 'BIHARI' Exists in tplNames4:", end='')
print(tplNames4.count('BIHARI'))

# In-Place Change in List Item Nested in Tuple
tplNames9 = ('KRISHAN',['BANWARI','MOHAN'], 'MURARI')
print("Data Items in tplNames9:\n", tplNames9, "\n")
tplNames9[1][0] = 'SHYAM'
print("Changed Data Item of Nested List in tplNames9: \n", tplNames9)

Output
Names in tplNames1: ('KRISHNA', 'MURARI')
Names in tplNames2: ('SHYAM', 'BIHARI')
Concatenation - Names in tplNames3:
 ('KRISHNA', 'MURARI', 'SHYAM', 'BIHARI')
Repetition - Names in tplNames4:
 ('KRISHNA', 'MURARI', 'SHYAM', 'BIHARI', 'KRISHNA', 'MURARI', 'SHYAM', 'BIHARI')
Indexing and Slicing - Names in tplNames5:
 ('KRISHNA', ('SHYAM', 'BIHARI'))
Wrong Way - If Single Item in Tuple tplNames6: YADAV
Right Way - If Single Item in Tuple tplNames7: ('YADAV',)
Created List using Tuple Items:
 ['KRISHNA', 'MURARI', 'SHYAM', 'BIHARI']
Created Sorted List:
 ['BIHARI', 'KRISHNA', 'MURARI', 'SHYAM']
Created Sorted List using sorted:
 ['BIHARI', 'KRISHNA', 'MURARI', 'SHYAM']
Created Tuple using List Items:
 ('BIHARI', 'KRISHNA', 'MURARI', 'SHYAM')
Created Tuple using List Items:
 ['KRISHNA YADAV', 'MURARI YADAV', 'SHYAM YADAV', 'BIHARI YADAV']
Index Number of Name 'BIHARI' in tplNames4:3
Index Number of Name 'KRISHNA' 2nd Time in tplNames4:4
How Many Times Name 'BIHARI' Exists in tplNames4:2
Data Items in tplNames9:
 ('KRISHAN', ['BANWARI', 'MOHAN'], 'MURARI')
Changed Data Item of Nested List in tplNames9:
 ('KRISHAN', ['SHYAM', 'MOHAN'], 'MURARI')
[/code]

इस Example में सबसे पहले हमने tplNames1tplNames2 नाम के दो Tuples Create किए हैं और उनमें Stored Names को print() Statement द्वारा Print कर दिया है। फिर हमने निम्‍न Statement द्वारा इन दोनों Tuples को Concatenate किया है-

tplNames3 = tplNames1 + tplNames2

ये Statement दोनों Tuples में Stored Data Items को Concatenate करता है और Generated Result को tplNames3 में Store कर देता है। जिसके परिणामस्‍वरूप इस tplNames3 में निम्‍नानुसार Names Stored रहते हैं-

(‘KRISHNA’, ‘MURARI’, ‘SHYAM’, ‘BIHARI’)

फिर हमने निम्‍न Statement द्वारा tplNames में Exist सभी Data Items को 2 बार Multiply करके tplNames4 में Store कर दिया है-

tplNames4 = tplNames3 * 2

परिणामस्‍वरूप tplNames4 में सभी नाम निम्‍नानुसार दो बार Store हो गए हैं-

(‘KRISHNA’, ‘MURARI’, ‘SHYAM’, ‘BIHARI’, ‘KRISHNA’, ‘MURARI’, ‘SHYAM’, ‘BIHARI’)

इसके बाद निम्‍न Statement Execute होता है –

tplNames5 = tplNames1[0], tplNames3[2:4]

जिसके परिणामस्‍वरूप Indexing के कारण tplNames1 के Index Position 0 पर Exist Name Return होता है। साथ ही Slicing के कारण tplNames3 के Index Number 2 से 3 तक पर Exist Names का एक Sliced Tuple Return होता है और दोनों का आपस में Concatenation होकर Result निम्‍नानुसार tplNames5 में Store हो जाता है-

(‘KRISHNA’, (‘SHYAM’, ‘BIHARI’))

जहां Sliced Tuple एक Nested Tuple Data Item की तरह Exist है। Cont…

Dictionary Use Cases
Tuple in Python - Part 2

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