வகுப்பு 12 கணினி அறிவியல் - பாடம் 9 தொகுப்பு தரவினங்கள்
இப்பாடம் பைத்தானின் நான்கு முக்கிய உள்ளிணைந்த தரவு தொகுப்புகளான பட்டியல், டூப்பில்ஸ், செட் மற்றும் அகராதி ஆகியவற்றை விரிவாக அறிமுகப்படுத்துகிறது. இந்தத் தொகுப்புகளை எவ்வாறு உருவாக்குவது, கையாளுவது மற்றும் நிரலாக்கத்தில் திறம்பட பயன்படுத்துவது என்பதைப் பல்வேறு எடுத்துக்காட்டுகளுடன் விளக்குகிறது. இவற்றின் தனித்துவமான பண்புகள், செயல்பாடுகள் மற்றும் அவற்றுக்கு இடையேயான வேறுபாடுகளை மாணவர்கள் இதன் மூலம் தெளிவாகக் கற்றுக்கொள்வர்.
இந்தப் பாடத்தைப் படியுங்கள்
(List, Tuples, Set மற்றும் Dictionary) தொகுப்பு தரவினங்கள் பற்றி
நடுத்தரம் ~120 நிமிடப் படிப்பு
கணினி அறிவியலில் பல்வேறு வகையான தரவுகளைத் திறம்பட சேமித்து கையாளுவது ஒரு இன்றியமையாத தேவையாகும். பைத்தான் நிரலாக்க மொழியில் பட்டியல் (List), டூப்பில்ஸ் (Tuples), செட் (Set) மற்றும் அகராதி (Dictionary) ஆகிய நான்கு உள்ளிணைந்த தரவுக் கட்டமைப்புகள் இதற்கு மிக அடிப்படையான மற்றும் சக்திவாய்ந்த கருவிகளாக விளங்குகின்றன. ஒரு எளிய மாறியில் ஒரே ஒரு மதிப்பை மட்டுமே சேமிக்க முடியும் என்ற கட்டுப்பாட்டை உடைத்து, பல்வேறு வகையான பலதரப்பட்ட தரவுகளை ஒரே பெயரில் மிக நேர்த்தியாகவும் குழுவாகவும் நிர்வகிக்க இந்தத் தரவு தொகுப்புகள் பெரிதும் உதவுகின்றன.
இந்த நான்கு தரவுத் தொகுப்புகளும் தங்களுக்குள் சில முக்கிய ஒற்றுமைகளையும் வேறுபாடுகளையும் கொண்டுள்ளன. பட்டியல் மாறும் தன்மையுடையதாகவும் சதுர அடைப்புக்குறிக்குள்ளும் இருக்கும்போது, டூப்பில்ஸ் மாறாத் தன்மையுடன் வளைந்த அடைப்புக்குறிக்குள் மிக வேகமான செயல்பாட்டை வழங்குகிறது. அதேபோல், செட் என்பது நகல்கள் இல்லாத தனித்துவமான மற்றும் வரிசைப்படுத்தப்படாத மதிப்புகளின் தொகுப்பாகும், அகராதி என்பது திறவுகோல் மற்றும் மதிப்பு இணைகளைக் கொண்டு மிக விரைவாகத் தரவுகளை அணுக வழிவகுக்கிறது. இந்த வெவ்வேறு கட்டமைப்புகளின் தொடர்புகள் ஒன்றோடொன்று இணைந்து பல்வேறு சிக்கலான நிரலாக்க சவால்களுக்கு மிக எளிமையான தீர்வுகளைக் கண்டறிய மாணவர்களுக்கு ஒரு சிறந்த வழியை வழங்குகின்றன.
பள்ளிப் பொதுத்தேர்வுகளைப் பொறுத்தமட்டில், இந்த ஒன்பதாவது அத்தியாயம் மிக முக்கியத்துவம் வாய்ந்ததாகக் கருதப்படுகிறது. பட்டியல் கையாளுதல், செட் செயல்பாடுகளின் கணிதக் கோட்பாடுகள், மற்றும் அகராதியின் திறவுகோல் பயன்பாடு போன்ற பகுதிகளில் இருந்து நேரடியான ஐந்து மதிப்பெண் வினாக்களும், நிரல் வெளியீட்டைக் கண்டறியும் வினாக்களும் அடிக்கடி கேட்கப்படுகின்றன. மேலும், செய்முறைத் தேர்வுகளில் இவற்றைப் பயன்படுத்தும் எளிய பைத்தான் நிரல்களை எழுதவும் மாணவர்கள் தங்களைத் தயார்படுத்திக் கொள்ள வேண்டும். எனவே, இவற்றின் அடிப்படை வேறுபாடுகளையும் சிறப்புச் சொற்களையும் முழுமையாகப் புரிந்துகொள்வது தேர்வில் முழு மதிப்பெண்களைப் பெற உதவும்.
நீங்கள் கற்பவை
- உருவாக்குதல் - பட்டியல் மற்றும் டூப்பில்ஸ் ஆகியவற்றை முறையான தொடரியல் பயன்படுத்தி உருவாக்குதல்.
- கையாளுதல் - பல்வேறு உள்ளிணைந்த சார்புகள் மற்றும் செயற்குறிகளைக் கொண்டு தரவுத் தொகுப்புகளைக் கையாளுதல்.
- செயல்படுத்துதல் - செட் தரவுத்தொகுப்பில் கணித கணக்கோட்பாட்டு செயல்பாடுகளை வெற்றிகரமாகச் செயல்படுத்துதல்.
- நிர்வகித்தல் - அகராதி கட்டமைப்பில் திறவுகோல் மற்றும் மதிப்பு இணைகளைக் கொண்டு தரவுகளைத் திறம்பட நிர்வகித்தல்.
- பயன்படுத்துதல் - பைத்தான் நிரலாக்கத்தில் பட்டியல் சுருக்கம் போன்ற மேம்பட்ட வடிவங்களைப் பயன்படுத்துதல்.
தொடங்குவதற்கு முன்
- மாறிகள் மற்றும் கட்டுப்பாட்டுக் கட்டமைப்புகள் பற்றிய அடிப்படை அறிவு.
- பைத்தானின் அடிப்படைத் தொடரியல் மற்றும் தரவு வகைகளைப் பற்றிய புரிதல்.
- செயற்கூறுகளை வரையறுத்தல் மற்றும் அழைத்தல் பற்றிய அறிவு.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
(List, Tuples, Set மற்றும் Dictionary) தொகுப்பு தரவினங்கள் — விரிவான விளக்கம்
பைத்தானின் தரவுக் கட்டமைப்புகள் பற்றிய விரிவான பார்வை
பட்டியல் (List) தரவுத்தொகுப்பின் பயன்பாடு மற்றும் செயல்பாடுகள்
பட்டியல் என்பது சதுர அடைப்புக்குறிக்குள் [ ] காற்புள்ளியால் பிரிக்கப்பட்டு எழுதப்படும் பல உறுப்புகளின் வரிசைப்படுத்தப்பட்ட தொகுப்பாகும். இது முற்றிலும் மாறும்தன்மை உடையது என்பதால், நிரல் இயங்கும் நேரத்தில் உறுப்புகளை எளிதில் சேர்க்கவோ, திருத்தவோ அல்லது முழுமையாக நீக்கவோ முடிகிறது. நேர்மறை மற்றும் எதிர்மறையான குறியீடுகளைப் பயன்படுத்தி பட்டியலின் தனிப்பட்ட உறுப்புகளை மிக எளிதாக அணுக முடியும். மேலும், பைத்தானில் பட்டியல் சுருக்கம் (List Comprehensions) போன்ற சிறப்பு அம்சங்கள் மூலம் மிகக் குறைந்த வரிகளில் எளிய முறையில் புதிய பட்டியல்களை உருவாக்க முடியும். இது தரவுகளை வரிசையாகவும் தொடர்ச்சியாகவும் நிர்வகிக்கப் பயன்படும் முதன்மையான கருவியாகும். இதில் append(), extend(), மற்றும் insert() போன்ற செயல்பாடுகள் மூலம் புதிய உறுப்புகளைத் தேவையான இடங்களில் சேர்க்க முடியும். அதுமட்டுமின்றி, பாப் (pop) மற்றும் கிளியர் (clear) போன்ற செயல்பாடுகளின் உதவியோடு பட்டியலின் உறுப்புகளை எளிதில் நீக்கி நிர்வகிக்கவும் இயலும். பட்டியல்கள் மற்ற உயர்நிலை மொழிகளின் அணிகளைப் போன்றது என்றாலும், அவற்றை விட மிகவும் நெகிழ்வுத்தன்மை கொண்டதாகும்.
டூப்பில்ஸ் (Tuples) கட்டமைப்பின் முக்கியத்துவம் மற்றும் நன்மைகள்
டூப்பில்ஸ் என்பது பட்டியலைப் போன்றதே என்றாலும், இது அடைப்புக்குறிக்குள் ( ) காற்புள்ளியால் பிரிக்கப்பட்டு வரையறுக்கப்படும் ஒரு கட்டமைப்பாகும். இதன் மிக முக்கியமான சிறப்பு இது மாறும்தன்மையற்றது (Immutable) என்பதாகும், அதாவது ஒருமுறை உருவாக்கிய பின் இதன் உறுப்புகளை மாற்றவோ அல்லது நீக்கவோ முடியாது. இதனால் கணினியின் நினைவகத்தில் குறைந்த இடத்தை மட்டுமே எடுத்துக் கொண்டு, பட்டியலை விட மிக வேகமாகச் செயல்படுகிறது. தரவுப் பாதுகாப்பு அதிகம் தேவைப்படும் சூழல்களிலும், மாற்றங்கள் செய்யக்கூடாத நிலையான மாறிலிகளைச் சேமிக்கவும் டூப்பில்ஸ் பெரிதும் பயன்படுத்தப்படுகிறது. இது ஒன்றுக்கும் மேற்பட்ட மதிப்புகளைச் செயற்கூறிலிருந்து ஒரு தொகுப்பாகத் திருப்பி அனுப்பவும், மாறியின் மதிப்புகளை எளிதாக இடமாற்றம் செய்யவும் உதவுகிறது. மேலும், அடைப்புக்குறி இல்லாமல் தரவுகளை வரையறுத்தாலும் பைத்தான் அதனை டூப்பில்ஸாகவே எடுத்துக்கொள்ளும் தனித்துவமான வசதியைக் கொண்டுள்ளது. இது போன்ற காரணங்களால், தரவு கையாளுதலில் டூப்பில்ஸ் இன்றியமையாத இடத்தை வகிக்கிறது.
செட் (Set) தொகுப்பின் கணித செயல்பாடுகளும் பண்புகளும்
செட் என்பது நகல்கள் இல்லாத, வரிசைப்படுத்தப்படாத உறுப்புகளின் மாறும் தன்மையுடைய தொகுப்பாகும். இது கநெளிவு அடைப்புக்குறிக்குள் { } வரையறுக்கப்படுகிறது. கணிதத்தில் நாம் கற்கும் கணக் கோட்பாடுகளைப் போலவே, இதிலும் ஒட்டுதல் (Union), வெட்டுதல் (Intersection), வேறுபாடு (Difference) மற்றும் சமச்சீரான வேறுபாடு (Symmetric Difference) போன்ற செயல்பாடுகளைச் குறியீடுகள் அல்லது உள்ளிணைந்த செயல்பாடுகள் மூலம் மிக எளிதாகச் செயல்படுத்த முடியும். இது ஒரு பெரிய தொகுப்பிலிருந்து நகல் உறுப்புகளை முற்றிலும் நீக்கவும், ஒரு குறிப்பிட்ட உறுப்பு அந்தத் தொகுப்பில் உள்ளதா என்று மிக விரைவாகச் சோதிக்கவும் மிகச் சிறந்த கருவியாகப் பயன்படுத்தப்படுகிறது. இதன் உறுப்புகள் வரிசைப்படுத்தப்படாததால், இதில் குறிப்பிட்ட சுட்டெண்கள் மூலம் உறுப்புகளை அணுக முடியாது. மாறாக, ஃபார் (for) மடக்கியைப் பயன்படுத்தி செட்டின் அனைத்து உறுப்புகளையும் ஒவ்வொன்றாக அணுகி அச்சிட முடியும். செட் தொகுப்பில் நகல் உறுப்புகள் சேமிக்கப்படாது என்பதால், தனித்துவமான தரவுகளைச் சேமிக்க இது உகந்தது.
அகராதி (Dictionary) கட்டமைப்பில் திறவுகோல் மற்றும் மதிப்பு இணைகள்
அகராதி என்பது மற்ற தரவுத் தொகுப்புகளில் இருந்து முற்றிலும் மாறுபட்டது, ஏனெனில் இது திறவுகோல் (Key) மற்றும் மதிப்பு (Value) இணைகளைக் கொண்டு மிகத் திறமையாகச் செயல்படுகிறது. கநெளிவு அடைப்புக்குறிக்குள் { } முக்காற்புள்ளியைக் ( : ) கொண்டு ஒவ்வொரு இணையும் பிரிக்கப்பட்டு இது வரையறுக்கப்படுகிறது. இதிலுள்ள திறவுகோல்கள் தனித்துவமானவையாகவும், மாறும் தன்மையற்றவையாகவும் இருக்க வேண்டும், ஆனால் மதிப்புகள் எவ்வகையாகவும் இருக்கலாம். தரவுகளைச் சுட்டெண்கள் மூலம் தேடுவதற்குப் பதிலாக, பொருள் சார்ந்த பெயர்கள் அல்லது திறவுகோல்கள் மூலம் மிக அதிவேகமாகத் தேடவும் கண்டறியவும் அகராதி மிகவும் பயனுள்ள கட்டமைப்பாக விளங்குகிறது. இதில் புதிய இணைகளைச் சேர்க்கவும், உள்ளவற்றை மாற்றவும் எளிய மதிப்பிருத்தல் குறியீடே போதுமானதாகும். மேலும், கிளியர் (clear) மற்றும் டெல் (del) போன்ற சிறப்புச் சொற்களைக் கொண்டு அகராதியின் உறுப்புகளை அல்லது ஒட்டுமொத்த அமைப்பையே நினைவகத்திலிருந்து நீக்கலாம். தரவுகளை அட்டவணை வடிவில் நிர்வகிக்கவும், விரைவாக மீட்டெடுக்கவும் இது பெரிதும் பயன்படுகிறது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- தவறு: ஒரே ஒரு உறுப்பைக் கொண்ட டூப்பில்ஸை உருவாக்கும்போது இறுதியில் காற்புள்ளி இடாமல் விடுவது. திருத்தம்: ஒற்றை உறுப்புடன் டூப்பில்ஸ் உருவாக்கும்போது இறுதியில் கண்டிப்பாகக் காற்புள்ளி ( , ) இட வேண்டும்.
- தவறு: பட்டியலின் உறுப்புகளை வளைந்த அடைப்புக்குறிக்குள் வரையறுப்பது. திருத்தம்: பட்டியலின் உறுப்புகளை எப்போதும் சதுர அடைப்புக்குறிக்குள் [ ] மட்டுமே வரையறுக்க வேண்டும்.
- தவறு: செட் தொகுப்பில் குறிப்பிட்ட உறுப்பினைச் சுட்டெண் (index) கொண்டு அணுக முயல்வது. திருத்தம்: செட் வரிசைப்படுத்தப்படாதது என்பதால் அதில் சுட்டெண் பயன்படாது; ஃபார் (for) மடக்கினையே பயன்படுத்த வேண்டும்.
- தவறு: அகராதியில் நகல் திறவுகோல்களைப் பயன்படுத்துவது. திருத்தம்: அகராதியில் திறவுகோல்கள் எப்போதும் தயாரிக்கும்போது தனித்துவமானவையாக இருக்க வேண்டும், நகல் திறவுகோல்கள் முந்தைய மதிப்புகளை அழித்துவிடும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
பட்டியல் மற்றும் டூப்பில்ஸ் இடையே உள்ள முக்கிய வேறுபாடு என்ன?
பட்டியல் மற்றும் டூப்பில்ஸ் ஆகிய இரண்டிற்கும் இடையே உள்ள மிக முக்கியமான வேறுபாடு அவற்றின் மாறும் தன்மையாகும். பட்டியல் மாறும் தன்மையுடையது, அதாவது அதன் உறுப்புகளைத் தேவையான போது மாற்ற முடியும். ஆனால் டூப்பில்ஸ் மாறாத் தன்மையுடையது, அதன் உறுப்புகளை ஒருபோதும் மாற்ற முடியாது. மேலும் பட்டியல் சதுர அடைப்புக்குறிக்குள்ளும், டூப்பில்ஸ் வளைந்த அடைப்புக்குறிக்குள்ளும் வரையறுக்கப்படுகின்றன என்பதை நாம் நினைவில் கொள்ள வேண்டும்.
ஒற்றை உறுப்பு டூப்பில்ஸ் எவ்வாறு உருவாக்கப்படுகிறது?
பைத்தானில் ஒரே ஒரு உறுப்பைக் கொண்ட டூப்பில்ஸை உருவாக்கும்போது, அந்த உறுப்பைத் தொடர்ந்து கண்டிப்பாக ஒரு காற்புள்ளியை இட வேண்டும். காற்புள்ளி இடாவிட்டால், பைத்தான் அதனை ஒரு சாதாரண தரவு வகையாக மட்டுமே கருதும், டூப்பில்ஸாகக் கருதாது. இந்த முறை சிங்கிள்டன் டூப்பில்ஸ் என்று அழைக்கப்படுகிறது. இது மிகவும் அவசியமான ஒன்றாகும், ஏனெனில் காற்புள்ளி இல்லாமல் டூப்பில்ஸ் முழுமையடையாது.
செட் தொகுப்பில் என்னென்ன கணித செயல்பாடுகளைச் செய்ய முடியும்?
செட் தரவுத் தொகுப்பைப் பயன்படுத்திப் பல்வேறு கணித செயல்பாடுகளைச் செய்ய முடியும். இதில் ஒட்டுதல் மூலம் இரண்டு தொகுப்புகளை இணைக்கலாம், வெட்டுதல் மூலம் பொதுவான உறுப்புகளைக் கண்டறியலாம், வேறுபாடு மூலம் ஒரு தொகுப்பில் உள்ள தனித்துவமான உறுப்புகளைப் பெறலாம் மற்றும் சமச்சீரான வேறுபாடு மூலம் பொதுவானவை அல்லாத உறுப்புகளைத் தனித்துப் பிரித்தெடுக்க முடியும். இந்த செயல்பாடுகள் அனைத்தும் செட் கோட்பாடுகளின் அடிப்படையில் மிகச் சிறப்பாகச் செயல்படுகின்றன.
அகராதியில் திறவுகோல்கள் என்றால் என்ன?
அகராதியில் தரவுகளைச் சேமிக்கவும் மீட்டெடுக்கவும் பயன்படும் தனித்துவமான அடையாளங்களே திறவுகோல்கள் ஆகும். இவை எப்போதும் மாறாத் தன்மையுடைய தரவு வகைகளாக இருக்க வேண்டும். ஒவ்வொரு திறவுகோலும் ஒரு குறிப்பிட்ட மதிப்புடன் முக்காற்புள்ளி மூலம் இணைக்கப்பட்டிருக்கும். அகராதியில் நகல் திறவுகோல்களைப் பயன்படுத்த முடியாது என்பது ஒரு விதியாகும், ஏனெனில் அது முந்தைய மதிப்புகளை அழித்து புதிய மதிப்பை மாற்றிவிடும்.
பட்டியல் சுருக்கம் என்றால் என்ன அதன் பயன் யாது?
பட்டியல் சுருக்கம் என்பது கொடுக்கப்பட்ட நிபந்தனைகளின் அடிப்படையில் மிக எளிதாகவும் சுருக்கமாகவும் புதிய பட்டியலை உருவாக்குவதற்கான ஒரு மேம்பட்ட வழிமுறையாகும். இது நிரலின் வரிகளைக் குறைத்து, வாசிப்புத் திறனை மேம்படுத்த உதவுகிறது. ஃபார் மடக்கி மற்றும் நிபந்தனைக் கூற்றுகளை ஒரே வரியில் எழுத இது அனுமதிக்கிறது. இதன் மூலம் நிரலாளர்கள் தங்கள் குறியீடுகளை மிக நேர்த்தியாக எழுத முடியும்.
செட் தொகுப்பில் நகல் உறுப்புகள் அனுமதிக்கப்படுமா?
செட் தரவுத் தொகுப்பில் நகல் உறுப்புகள் முற்றிலும் அனுமதிக்கப்பட மாட்டாது. செட்டில் ஒரே மதிப்பை நாம் பலமுறை சேர்த்தாலும், பைத்தான் அதனை ஒரே ஒருமுறை மட்டுமே எடுத்துக்கொள்ளும். நகல் மதிப்புகளைத் தானாகவே நீக்கித் தனித்துவமான உறுப்புகளை மட்டும் சேமிப்பதே செட் தொகுப்பின் மிக முக்கியமான சிறப்பியல்பு ஆகும். இது தரவுகளைத் தனித்துவமாக வைத்திருக்க மிகவும் பயனுள்ளதாக இருக்கும்.
கடைசியாகப் புதுப்பிக்கப்பட்டது 22 ஆகஸ்ட் 2026