பைத்தான் - Tuples அறிமுகம் | 12th Computer Science : Chapter 9 : Python Modularity and OOPS : Lists, Tuples, Sets And Dictionary
Tuples
Tuples அறிமுகம்:
Tuples காற்புள்ளியால்
பிரிக்கப்பட்ட பல மதிப்புகளை வளைவு அடைப்புக் குறிக்குள் கொண்ட தரவினமாகும். டப்புல்ஸ்
List-க்கு இணையானதாகும். ஆனால் List-ல் மதிப்புகளை மாற்ற முடியும். Tuples -ல் மாற்ற
முடியாது.
உங்களுக்குத்
தெரியுமா?
Tuples
என்ற வார்த்தை லத்தீன் மொழியிலிருந்து தோற்றுவிக்கப்பட்டது. இந்த லத்தீன் வார்த்தை
எண் தொடர்களைக் குறிக்கிறது:
single(1), double(2), triple(3), quadruple(4), quinTuples(5), sexTuples(6), sep Tuples(7), ocTuples(8), ..., n-Tuples, ...,
1. List-ன் உறுப்புகளை மாற்றலாம் ஆனால் Tuples-ன் உறுப்புகளை
மாற்ற முடியாது. இதுவே List மற்றும் Tuples-க்கு இடையே உள்ள முக்கியமான வேறுபாடு ஆகும்.
2. List-ன் உறுப்புகள் சதுர அடைப்புக் குறிக்குள் அடைக்கப்பட்டிருக்கும்.
ஆனால், Tuple-ன் உறுப்புகள் வளைவு குறிக்குள் அடைக்கப்பட்டிருக்கும்
3. Tuples-ன் மடக்குச் செயல் List-ஐ காட்டிலும் விரைவானது.
List-ஐ போன்றே Tuples
உருவாக்கப்படும். List-ல் உறுப்புகள் சதுர அடைப்புக்குறிக்குள் அடைக்கப்பட்டு வரையரை
செய்யப்படுகின்றன. ஆனால் டப்புள்ஸ்ல் அவைகள் வளைந்த அடைப்புக் குறிக்குள் அடைக்கப்பட்டிருக்கலாம்.
Tuples-ன் உறுப்புகளை வளைந்த அடைப்புக்குறி இல்லாமலும் வரையறுக்க முடியும். எவ்வாறு
பயன்படுத்தினாலும் Tuples-ன் வேலை செய்யும் விதம் ஒன்றாகவே இருக்கும்.
தொடரியல்:
# வெற்று Tuples
Tuples_Name = ( )
# n எண்ணிக்கை உறுப்புகளுடன் Tuples
Tuples_Name = (E1, E2, E2 ....... En)
# அடைப்புக்குறி இல்லாத Tuple உறுப்புகள்
Tuples_Name = E1, E2, E3..... En
எடுத்துக்காட்டு
>>> MyTup1 = (23, 56, 89, 'A', 'E', 'T',
"Tamil")
>>> print(MyTup1)
(23, 56, 89, 'A', 'E', 'T', 'Tamil')
>>> MyTup2 = 23, 56, 89, 'A', 'E', 'I',
"Tamil"
>>> print (MyTup2)
(23, 56, 89, 'A', 'E', 'T', 'Tamil')
1. செயற்கூறை பயன்படுத்தி Tuples உருவாக்குதல்
Tuples ( ) செயற்கூறு லிஸ்ட்டிலிருந்து Tuples-ஐ உருவாக்கவும்
பயன்படுகிறது. லிஸ்ட்-ல் இருந்து Tuples-ஐ உருவாக்கும் போது, உறுப்புகள் சதுர அடைப்புக்குறிக்குள்
அடைக்கப்பட்டிருக்க வேண்டும்.
தொடரியல்:
Tuples_Name = Tuples ( [List elements] )
எடுத்துக்காட்டு
>>> MyTup3 = tuple( [23, 45, 90] )
>>> print(MyTup3)
(23, 45, 90)
>>> type (My Tup3)
<class Tuples'>
குறிப்பு:
பைத்தானில் ஒரு பொருளின் தரவினத்தை அறிய type() செயற்கூறு பயன்படுகிறது.
2. ஒற்றை உறுப்பு கொண்ட Tuples உருவாக்குதல்
Tuples-ஐ ஒற்றை
உறுப்புடன் உருவாக்கும் போது, உறுப்பின் இறுதியில் காற்புள்ளியை சேர்க்க வேண்டும்.
காற்புள்ளி இல்லையெனில், பைத்தான் அந்த உறுப்பை ஒரு சாதாரண தரவினம் போல எடுத்துக் கொள்ளும்,
Tuples ஆக கருதாது. ஒரு உறுப்புடன் Tuples-
ஐ உருவாக்குவது “சிங்கிள்டன் (singleton)” Tuples என அழைக்கப்படுகிறது.
எடுத்துக்காட்டு
>>>MyTup4 = (10)
>>> type(MyTup4)
<class 'int'>
>>> MyTup5 = (10,)
>>> type(MyTup5)
<class 'Tuples'>
List-ஐ போலவே, Tuples உறுப்புகளும் சுழியத்தில் தொடங்கும் சுட்டெண்களை
பெற்றிருக்கும். Tuples-ன் உறுப்புகளை சுட்டெண்ணை பயன்படுத்தி எளிமையாக அணுகலாம்.
எடுத்துக்காட்டு
>>> Tup1 = (12, 78, 91, "Tamil”, “Telugu”, 3.14,
69.48)
# Tuples-ன் அனைத்து உறுப்புகளையும் அணுக.
>>> print(Tup1)
(12, 78, 91, 'Tamil', "Telugu', 3.14,69.48)
#சுட்டெண்ணை பயன்படுத்தி தேர்வு செய்யப்பட்ட உறுப்புகளை அணுகுதல். >>> print(Tup1[2:5])
(91, 'Tamil', 'Telugu')
#முதல் உறுப்பிலிருந்து குறிப்பிடப்பட்ட சுட்டெண் வரை அணுகுதல்.
>>> print(Tup1[:5])|
(12, 78, 91, 'Tamil', 'Telugu')
# குறிப்பிடப்பட்ட உறுப்பிலிருந்து இறுதி உறுப்பு வரை அணுகுதல்.
>>> print(Tup1[4:])
("Telugu', 3.14, 69.48)
# முதல் உறுப்பிலிருந்து இறுதி உறுப்பு வரை அணுகுதல்
>>> print(Tup1[:])
(12, 78, 91, 'Tamil', 'Telugu', 3.14, 69.48)
நீங்கள் அறிந்தபடி, Tuples-ஐ மாற்ற முடியாது என அறிவோம். அதாவது
Tuples-ன் உறுப்புகளை மாற்றம் (புதுப்பிக்க) செய்ய முடியாது. Tuples-ன் மதிப்புகளை
மாற்றுவதற்கு பதிலாக, இரண்டு Tuples- ஐ இணைக்கவும் அல்லது முழு Tuples-ஐ நீக்கவும்
முடியும்.
எடுத்துக்காட்டு
# இரண்டு Tuples-களை இணைக்கும் நிரல்
Tup1 = (2,4,6,8,10)
Tup2 = (1,3,5,7,9)
Tup3 = Tup1 + Tup2
print(Tup3)
வெளியீடு
(2, 4, 6, 8, 10, 1, 3, 5, 7, 9)
முழு Tuples-ஐ நீக்குவதற்கு, del கட்டளை பயன்படுகிறது.
தொடரியல்:
del Tuples_name
எடுத்துக்காட்டு
Tup1 = (2,4,6,8,10)
print("The elements of Tup1 is ", Tup1)
del Tup1
print (Tup1)
வெளியீடு
The elements of Tupl is (2, 4, 6, 8, 10)
Traceback (most recent call last):
File "D:/Python/Tuple Examp 1.py", line 4, in
<module>
print (Tup1)
NameError: name 'Tupl' is not defined
குறிப்பு: மேலே உள்ள குறிமுறையில் print கூற்று உறுப்புகளை அச்சிடுகிறது. பின்னர், del கூற்று முழு Tuples-ஐ நீக்குகிறது. நீக்கப்பட்ட Tuples-ஐ நீங்கள் அச்சிட முயன்றால், பைத்தான் பிழையைக் காண்பிக்கும்.
Tuples மதிப்பிருத்தல் என்பது பைத்தானில் ஆற்றல் மிக்க சிறப்பியல்பாகும்.
இது, மதிப்பிருத்து செயற்குறியின் இடது பக்கத்தில் உள்ள மாறிகளில் மதிப்பிருத்த செயற்குறியின்
வலது பக்கத்தில் உள்ள மதிப்புகளை இருத்த அனுமதிக்கிறது. ஒவ்வொரு மதிப்பும் அதற்குரிய
மாறியில் இருத்தப்படுகிறது.
எடுத்துக்காட்டு
>>> (a, b, c) = (34, 90, 76)
>>> print(a,b,c)
34 90 76
# மதிப்பிருத்துவதற்கு முன் கோவைகள் மதிப்பீடு செய்யப்படுகின்றன
>>> (x, y, z, p) = (2**2, 5/3+4, 15%2, 34>65)
>>> print(x,y,z,p)
45.666666666666667 1 False
குறிப்பு: நீங்கள், Tuples- ல் மதிப்புகளை இருத்தும் போது, மதிப்பிருத்து செயற்குறியின் இரு பக்கங்களிலும் உள்ள மதிப்புகளின் எண்ணிக்கை சமமாக உள்ளதா என்பதை உறுதி செய்து கொள்ள வேண்டும். இல்லையெனில், பைத்தானில் பிழை உருவாக்கப்படும்.
ஒரு செயற்கூறு ஒரு நேரத்தில் ஒரு மதிப்பை மட்டுமே திருப்பி அனுப்ப
முடியும். ஆனால் பைத்தான், செயற்கூறிலிருந்து ஒன்றுக்கு மேற்பட்ட மதிப்புகளை திருப்பி
அனுப்புகிறது. பைத்தான் பல மதிப்புகளை தொகுத்து, அவைகளை ஒன்றாக திருப்பி அனுப்புகிறது.
எடுத்துக்காட்டு 9.7: List அதிகபட்ச மற்றும் குறைந்தபட்ச மதிப்புகளை திருப்பி அனுப்பும் நிரல்
def Min_Max(n):
a = max(n)
b = min(n)
return(a, b)
Num = (12, 65, 84, 1, 18, 85,99)
(Max_Num, Min_Num) = Min_Max(Num)
print("Maximum value = ", Max_Num)
print("Minimum value = '', Min_Num)
வெளியீடு
Maximum value = 99
Minimum value = 1
பைத்தானில், ஒரு Tuples-ஐ மற்றொரு Tuples-க்குள் வரையறை செய்வதை
பின்னலான Tuples என்கிறோம். பின்னலான Tuples-ல் ஒவ்வொரு Tuples-ல் ஒரு உறுப்பாக கருதப்படுகிறது.
for மடக்கு பின்னலான Tuples-ன் அனைத்து உறுப்புகளை அணுகுவதற்கு பயன்படுகிறது.
எடுத்துக்காட்டு
Toppers = (("Vinodini","XII-F", 98.7), ("Soundarya","XII-H",
97.5),
("Tharani", "XII-F", 95.3),
("Saisri", "XII-G", 93.8))
for i in Toppers:
print(i)
வெளியீடு
('Vinodini', 'XII-F', 98.7)
('Soundarya', 'XII-H', 97.5)
('Tharani', 'XII-F', 95.3)
('Saisri', 'XII-G', 93.8)
குறிப்பு:
லிஸ்ட்ல் பயன்படுத்திய அனைத்து செயற்கூறுகளும் Tuples-க்கும் பொருந்தும்
நிரல் 1: Tuples-ஸ் மதிப்பிருத்தலை பயன்படுத்தி இரண்டு மதிப்புகளை இடமாற்றுவதற்கான
நிரலை எழுதுக.
a = int(input("Enter value of A: "))
b = int(input("Enter value of B: "))
print("Value of A = "', a, "\n Value of B =
"', b)
(a, b) = (b, a)
print("Value of A = '', a, "\n Value of B = '',b)
வெளியீடு
Enter value of A: 54
Enter value of B: 38
Value of A = 54
Value of B = 38
Value of A = 38
Value of B = 54
நிரல் 2: செயற்கூறைப் பயன்படுத்தி, வட்டத்தின் ஆரத்தை செயற்கூறுக்கு
அளபுருவாக அனுப்பி, வட்டத்தின் பரப்பு மற்றும் சுற்றளவை திருப்பி அனுப்புவதற்கான நிரலை
எழுதுக.
pi = 3.14
def Circle(r):
return (pi*r*r, 2*pi*r)
radius = float(input("Enter the Radius: "))
(area, circum) = Circle(radius)
print ("Area of the circle = "', area)
print ("Circumference of the circle = "', circum)
வெளியீடு
Enter the Radius: 5
Area of the circle = 78.5
Circumference of the circle = 31.400000000000002
நிரல்3: நேர்மறை மற்றும் எதிர்மறை எண்களின் List-ஐ கொண்ட நிரலை எழுதுக.
லிஸ்ட்ல் இருந்து நேர்ம எண்களை மட்டும் பெறுகின்ற புதிய Tuples உருவாக்குக.
Numbers = (5,-8, 6, 8, -4, 3, 1)
Positive = ( )
for i in Numbers:
ifi>0:
Positive += (i,)
print("Positive Numbers: '', Positive)
வெளியீடு
Positive Numbers: (5, 6, 8, 3, 1)