ஒரு நிரலில் பல வகையான தரவுகள் (Data Types) பயன்படுத்தப்படுவதைப் போலவே, அது எவ்வாறு கணினியின் மெமரியில் சேமிக்கப்பட வேண்டுமென்பதையும் ஒரு நிரலாளர் முடிவு செய்ய இயலும். இதனைத் தரவு கட்டமைப்புகள் (Data Structures) என்ற பெயர்க்கொண்டு அழைக்கிறோம். ஒரு பயணத்திற்குத் தயாராக வேண்டும் எனில் முதலில் அளவு, நிறம், சீக்கிரம் காயும் தன்மை என்கிற அடிப்படையில் ஆடைகளைத் தேர்ந்தெடுத்து வைக்கிறோம் அல்லவா? அது தரவு வகை. அடிக்கடி தேவைப்படும் ஆடை எது? எவையெல்லாம் ஒருமுறை மட்டுமே பயன்படுத்தப்பட இருக்கும் ஆடைகள் என்கிற அடிப்படையில் அவற்றைப் பெட்டியில் அடுக்கிவைப்போம் தானே? இம்முறையை நீங்கள் தரவு கட்டமைப்புகளோடு பொருத்திப்பார்த்துப் புரிந்து கொள்ளலாம்.
தரவுகள் மட்டுமின்றி அவை எவ்வாறு சேமிக்கப்பட்டு, எவ்வாறு மீண்டும் மீட்டெடுக்கப்படுகிறது என்பதையும் கருத்தில் கொண்டால், நீங்கள் தரவு கட்டமைப்பை நிரலில் பயன்படுத்துகிறீர்கள் என்று அர்த்தம். இவற்றையெல்லாம் முழுவதுமாக ஒரு நிரலாளரே செய்யவேண்டுமா என்றால், அதுதான் இல்லை. பைத்தான் அதையும் உங்களுக்கு எளிதாக்கித் தருகின்றது. கிட்டத்தட்ட 12 வகையான தரவு கட்டமைப்புகளை பைத்தான் தருகிறது, அவற்றில் முதன்மையானதை இனி ஒவ்வொன்றாகப் பார்க்க இருக்கிறோம்.
முதலில் list.
0
எதற்காக இதைப் பயில வேண்டும்? நிரலில் எப்படி இது பயன்படுகிறது?
1) பழ வகைகள், இரட்டைப்படை எண்கள், பணியாளர்களின் சம்பளம், புதிதாக நிறுவனத்தில் இணைந்தவர்கள் என்று எப்போதெல்லாம் ஒரு பட்டியலைத் தயாரிக்க வேண்டியிருக்கிறதோ, அங்கே நீங்கள் listஐ பயன்படுத்தலாம்.
2) அப்படித் தயாரிக்கப்படும் பட்டியலில் இடம்பெறும் தரவுகள் எப்படி இருக்கவேண்டும்?
குறிப்பிட்ட ஒரு வகையைச் சார்ந்ததாக மட்டும் இல்லாமல், பலவகை தரவுகளைக் கொண்டதாக அப்பட்டியல் இருக்கலாம்.
3) ஒருமுறை நிரலில் தயாரிக்கப்படும் பட்டியலை மாற்றும் வாய்ப்பு இருக்கிறதா?
ஏன் இல்லை? ஒரு பட்டியலின் தரவுகளை எத்தனை முறை வேண்டுமானாலும் மாற்றிக்கொள்ளலாம். காரணம் list, மாறும் தன்மைக்கொண்ட தரவு கட்டமைப்பு வகையைச் சார்ந்தது.
4) எனில் மாறாத தன்மைக்கொண்ட தரவு கட்டமைப்புகள் உள்ளனவா?
ஆம். கொஞ்சம் பொறுங்கள், ஒவ்வொன்றாகப் பார்த்து விடுவோம்.
5) நிரலில் ஒரு பட்டியல் பயன்படுத்தப்பட்டு இருக்கிறது என்பதை எப்படிக் கண்டறிவது?
மிக எளிது. பட்டியலின் தரவுகள் சதுர அடைப்புக்குறிகளுக்குள்[] இடம்பெற்றிருக்கும்.
0
ஒரு listஐ எப்படி உருவாக்குவது?
போதுமான பயிற்சியும், நம்பிக்கையும் உருவாகும் வரைக்கும் பைத்தானின் ஊடாடும் முறையில் listஐ பயிற்சி செய்து பார்ப்பது ஒரு நல்ல யோசனை.
மேலே உள்ள படத்தில் L மற்றும் L4 ஆகிய இரண்டு அடையாளங்காட்டிகளும், ஒரு listஐ எப்படி உருவாக்குவது என்பதை நமக்குக் காட்டுகின்றன.
>>>L=[]
ஒரு listஐ உருவாக்குவதற்கு உண்டான நேரடியான வழிமுறை. அடையாளங்காட்டிக்கு ஒரு பெயர், listஐ குறிக்கச் சதுர அடைப்புக்குறிகள்[], அவ்வளவுதான். காலி பட்டியல் தயார்.
>>>L4=list()
முன் வரையறுக்கப்பட்ட செயல்பாடான list()ஐ வைத்து L4ஐ உருவாக்கியிருக்கிறோம்.
ஆரம்பநிலையில் இவ்விரண்டில் எது உங்களுக்கு எளிமையாக இருக்கிறதோ, அவற்றைப் பயன்படுத்திக்கொள்ளலாம்.
>>>L1=[1,2,3,4,5]
எண்களைக் கொண்ட ஒரு பட்டியல், அதைக் குறிக்க L1 எனும் List அடையாளங்காட்டி.
>>>L2=[“Ibrahim”, 33, “Clerk”, 20000, “Chennai”]
ஒரு பட்டியலில் பல விதமான தரவுகள் இருக்கலாம் என்பதற்கான ஒரு உதாரணம்.
>>> L3=[“Malaipaambu Mozhi”, 10, 10.5, True, 4+5j]
பைத்தானில் இருக்கும் அநேக தரவு வகைகள் L3யில் இடம்பெற்றுள்ளன.
0
நிரல் 1: ஒரு பட்டியலில் எத்தனை தரவுகள் உள்ளன என்பதைக் கண்டறிவது
விளக்கம்:
numbers அடையாளங்காட்டி ஒரு listஐ குறிக்கிறது. அதில் எத்தனை உறுப்புகள் இருக்கின்றன என்பதைக் கண்டறிய ஒரு முன் வரையறுக்கப்பட்ட செயல்பாடான len()ஐ பயன்படுத்தி இருக்கிறோம்.
வெளியீடு:
நிரல் 2: இரண்டு வெவ்வேறு பட்டியலை இணைத்தல்
விளக்கம்:
‘+’ என்ற இயக்கியைப் பயன்படுத்தி list1, list2 ஆகிய இரண்டு பட்டியல்களைச் சேர்த்து ஒன்றாக ஆக்கியிருக்கிறோம்.
வெளியீடு:
நிரல் 3: ஒரு பட்டியலில் குறிப்பிட்ட ஒரு உறுப்பை மட்டும் தேடிக் கண்டறிவது
விளக்கம்:
பழங்களின் பட்டியலில் வாழைப்பழம் இடம்பெற்றிருக்கிறதா என்பதை நிபந்தனை வரிகளை வைத்து பரிசோதனை செய்து பார்க்கிறோம்.
வெளியீடு:
நிரல் 4: ஒரு பட்டியலில் உள்ள அனைத்து உறுப்புகளின் கூட்டுத்தொகையைக் கண்டறிவது
விளக்கம்:
listற்கான பிரத்தியேக for loop வடிவம் இது. ஏற்கனவே நாம் பார்த்த நிரல்களில் எல்லாம் for loopம், range()ம் தான் கூட்டாளிகளாக இருந்தன இல்லையா? listற்கு அந்த கட்டாயம் இல்லை, நேரடியாக அடையாளங்காட்டிய மட்டும் வைத்துக்கொண்டு ஒவ்வொரு உறுப்புகளாக அணுக முடியும்.
உதாரணத்துக்கு இந்நிரலில் for loop 5 முறை இயங்கும். காரணம் பட்டியல் 5 கூறுகளைக் கொண்டுள்ளது.for loopன் ஒவ்வொரு செய்கையிலும் iயின் மதிப்பு பின்வருமாறு இருக்கும்.
i-> 1
i-> 2
i-> 3
i-> 4
i-> 5
sum என்ற அடையாளங்காட்டியில், ஒவ்வொரு செய்கையிலும் கூட்டுத்தொகை சேமிக்கப்பட்டு வந்து, இறுதியாக அச்சிடப்படுகிறது.
கவனமாக நினைவில் கொள்ளுங்கள், for loop மற்றும் range() வைத்தும் ஒரு பட்டியலின் கூறுகளை அணுக முடியும். ஆனால் அடையாளங்காட்டிகளை மட்டும் வைத்து for loopஐ வடிவமைக்க விரும்பினால், அது தரவு கட்டமைப்புகளுக்கு மட்டுமே சாத்தியம். தரவு வகைகளுக்கு இந்த வடிவமைப்பு பொருந்தாது.
வெளியீடு:
15
நிரல் 5: ஒரு பட்டியலில் உள்ள எண்களில் மூன்றால் வகுப்படும் எண்களை மட்டும் கண்டறிந்து அச்சிடுவது
விளக்கம்:
போன நிரலின் அதே லாஜிக்தான். ஆனால் கூடுதலாக இம்முறை ஒரு நிபந்தனையையும் சேர்த்துக் கொள்கிறோம். பட்டியலில் உள்ள எண்களில் எவையெல்லாம் மூன்றால் வகுப்படுகிறதோ அவற்றை மட்டும் அச்சிடுகிறோம்.
வெளியீடு:
(தொடரும்)