பைதான் பட்டியல் தரவு கட்டமைப்பைக் கற்றுக் கொள்ளுங்கள் - பகுதி 1


தரவு கட்டமைப்பு என்பது தரவு வகைகளின் தொகுப்பு, அவற்றுக்கிடையேயான உறவு மற்றும் தரவுகளில் பயன்படுத்தக்கூடிய செயல்பாடுகள் அல்லது செயல்பாடுகள். தரவு வகை சரம், முழு எண், மிதக்கும் மதிப்பு மற்றும் பலவாக இருக்கலாம்.

  1. கூறுகளைச் சேர்ப்பது, புதுப்பிப்பது அல்லது நீக்குவது போன்றவற்றை உருவாக்கியதும் அதன் நிலையை மாற்றக்கூடிய பொருள்கள்.
  2. பட்டியல்கள், அகராதி, தொகுப்பு, பைட்டாரே ஆகியவை பைத்தானில் மாற்றக்கூடிய பொருள் வகைகள்.

  1. பொருள் நிலையை மாற்ற முடியாது. பொருள் உருவாக்கப்பட்டதும், உறுப்புகளைச் சேர்க்கவோ, நீக்கவோ அல்லது புதுப்பிக்கவோ முடியாது.
  2. சரம், முழு எண், டுபில்ஸ், ஃப்ரோஸன்செட் ஆகியவை மலைப்பாம்பில் மாறாத பொருள் வகைகளில் சில.

  1. ஒரேவிதமான தரவு அமைப்பு - தரவு கூறுகள் ஒரே தரவு வகையாக இருக்கும் (எ.கா: வரிசை).
  2. பன்முக தரவு கட்டமைப்பு - தரவு கூறுகள் ஒரே தரவு வகையாக இருக்கக்கூடாது (எ.கா: பட்டியல், டுபில்ஸ், செட் போன்றவை…).

உள்ளமைக்கப்பட்ட தரவு கட்டமைப்பின் செயல்பாட்டைப் புரிந்துகொள்வதற்கு முன், தரவு கட்டமைப்பு பொருள்களுடன் பயன்படுத்தப்படும் சில உள்ளமைக்கப்பட்ட செயல்பாடுகளைப் பார்ப்போம்.

  • dir (obj) - பண்புக்கூறு மற்றும் முறைகளைத் தரும் ஒரு உள்ளமைக்கப்பட்ட செயல்பாடு.
  • லென் (ஆப்) - ஒரு பொருளின் நீளம் (பொருட்களின் எண்ணிக்கை) திரும்பவும். வாதம் ஒரு வரிசை (சரம், பைட்டுகள், டப்பிள், பட்டியல் அல்லது வரம்பு போன்றவை) அல்லது ஒரு தொகுப்பு (அகராதி, தொகுப்பு அல்லது உறைந்த தொகுப்பு போன்றவை) இருக்கலாம்.
  • டெல் - இந்த உள்ளமைக்கப்பட்ட திறவுச்சொல் ஒரு பெயர்வெளியில் இருந்து ஒரு பொருளை நீக்க அல்லது பட்டியல், அகராதி போன்ற ஒரு பொருளிலிருந்து பொருட்களை அகற்ற பயன்படுகிறது.
  • வகை (ஆப்) - வகை() செயல்பாடு பொருளின் வகையைத் தருகிறது அல்லது கடந்து வந்த வாதங்களின் அடிப்படையில் புதிய வகை பொருளை வழங்குகிறது. <
  • ஐடி() - இந்த செயல்பாடு ஒரு பொருளின் identity "அடையாளத்தை" வழங்குகிறது. இது ஒரு முழு எண், இந்த பொருளின் வாழ்நாளில் தனித்துவமாகவும் நிலையானதாகவும் இருக்கும் என்று உத்தரவாதம் அளிக்கப்படுகிறது.

இப்போது நீங்கள் சில முக்கியமான விவரங்களைக் கண்டிருப்பதால், பைதான் தரவு கட்டமைப்புகளுடன் தொடரலாம்.

பைதான் உள்ளமைக்கப்பட்ட தரவு கட்டமைப்புகளுடன் வருகிறது, அத்துடன் பயனர்கள் தங்கள் சொந்த தரவு கட்டமைப்புகளை வரையறுக்க முடியும். உள்ளமைக்கப்பட்ட தரவு கட்டமைப்பில் LIST, DICTIONARY, TUPLE மற்றும் SET ஆகியவை அடங்கும். பயனர் வரையறுக்கப்பட்ட தரவு கட்டமைப்புகளுக்கான சில எடுத்துக்காட்டுகள் STACK, QUEUES, TREE, HASHMAP போன்றவை…

பிற நிரலாக்க மொழிகளில் இருந்து வருபவர்களுக்கு ஒரு வரிசை வகை மிகவும் தெரிந்திருக்கும். ஆனால் மலைப்பாம்பில், அவை அவ்வளவு பொதுவானவை அல்ல.

இங்கே பட்டியல் ஒரு வரிசைக்கு ஒத்ததாக இருக்கிறது, ஆனால் எந்தவொரு தரவு வகையின் (பன்முகத்தன்மை) மதிப்புகளை சேமிக்க பட்டியல் நம்மை அனுமதிக்கிறது, அதே நேரத்தில் வரிசை குறிப்பிட்ட வகையின் தரவை மட்டுமே வைத்திருக்கும் (எண்ணாக, மிதவை போன்றவை…). வரிசையைப் பயன்படுத்த நீங்கள் "வரிசை" தொகுதியிலிருந்து வரிசையை வெளிப்படையாக இறக்குமதி செய்ய வேண்டும்.

இந்த பைதான் தொடர் கட்டுரைகளில், தரவு கட்டமைப்பு மற்றும் பைதான் உள்ளமைக்கப்பட்ட தரவு கட்டமைப்பு என்ன என்பதைப் பார்ப்போம்.

பட்டியல் என்பது ஒரு தரவு அமைப்பு, இது வெவ்வேறு தரவு வகைகளின் தொகுப்பாகும். Different "வெவ்வேறு தரவு வகைகளின் சேகரிப்பு" என்றால் என்ன? பட்டியல் சரங்கள், முழு எண், மிதக்கும் புள்ளி மதிப்புகள், உள்ளமைக்கப்பட்ட பட்டியல் மற்றும் பலவற்றை சேமிக்க முடியும்.

பட்டியல் பொருள்கள் Mut "மாற்றக்கூடியவை", அதாவது பட்டியலில் உருவாக்கப்பட்ட உருப்படிகளை அணுகலாம், மாற்றியமைக்கலாம் அல்லது நீக்கலாம். பட்டியல் ஆதரவு அட்டவணைப்படுத்தல். பட்டியல்களில் உள்ள ஒவ்வொரு உருப்படியும் ஒரு முகவரிக்கு ஒதுக்கப்பட்டுள்ளது, மேலும் அந்த முகவரி குறிப்பிட்ட உருப்படி மதிப்பை அணுக அல்லது மாற்ற பயன்படும் .

  • ஒரு பட்டியலை உருவாக்கவும்
  • பட்டியலைச் செருக/அணுக/மாற்ற
  • பட்டியலை நீக்கு

சதுர அடைப்புக்குறிகளைப் பயன்படுத்தி பட்டியலை உருவாக்கலாம்.

>>> name_empty = []			# Empty list
>>> name = ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']	# list with string data type
>>> name_int = [1,2,3]			# list with Integer data type
>>> name_mixed = [name_int,name,1,2,3.14]	# list with nested list items.
>>> name_mixed
[[1, 2, 3], ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'], 1, 2, 3.14]
>>> name_int
[1, 2, 3]

பொருள் வகையைச் சரிபார்க்க உள்ளடிக்கிய வகை() செயல்பாட்டைப் பயன்படுத்தலாம்.

>>> type(name)

dir() செயல்பாட்டைப் பயன்படுத்தி பட்டியல் நிகழ்வின் முறைகள் மற்றும் பண்புகளை நாம் அணுகலாம்.

>>> dir(name)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

லென்() முறையைப் பயன்படுத்தி பட்டியலில் உள்ள மொத்த உருப்படிகளின் எண்ணிக்கையைக் காணலாம்.

>>> len(name)

list.copy() முறையைப் பயன்படுத்தி ஏற்கனவே உள்ள பட்டியலிலிருந்து புதிய பட்டியலை உருவாக்கலாம்.

>>> name_new = name.copy()
>>> name_new
['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']

list.insert (i, x) முறையைப் பயன்படுத்தி எந்த நிலையிலும் ஒரு பொருளை ஒரு பட்டியலில் செருகலாம்.

>>> name = ['Leo','Matt','Kane','Scott','Petter','Will']
>>> name
['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> name.insert(0,'Tom')	# Insert method takes 2 arguments (Index position, Item)
>>> name
['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']	# Tom is inserted at the 0th position.

பட்டியலில் ஒரு உருப்படியைச் சேர்க்க list.append (x) முறையைப் பயன்படுத்தலாம். இது உருப்படியை பட்டியலின் முடிவில் செருகும்.

>>> name = []
>>> len(name)
0
>>> name.append('Leo')
>>> name.append('Matt')
>>> name.append('Kane')
>>> print(name)
['Leo', 'Matt', 'Kane']

பட்டியலில் பல உருப்படிகளைச் சேர்க்க list.extend() முறையைப் பயன்படுத்தலாம்.

>>> new_name = ['Gowtham','Martin','Luis']
>>> name.extend(new_name)
>>> name
['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']

இரண்டு பட்டியலை இணைக்க + ஆபரேட்டரையும் பயன்படுத்தலாம். பட்டியல் இரண்டும் வெவ்வேறு தரவு வகைகளாக இருக்கலாம்.

>>> a = [1,2,3]
>>> b = [2,3,3]
>>> c = a + b
>>> c
[1, 2, 3, 2, 3, 3]
>>> d = ['karthi','kenny']
>>> e = a + d
>>> e
[1, 2, 3, 'karthi', 'kenny']

ஏற்கனவே கூறப்பட்ட பட்டியல்கள் பொருள்கள் மாறக்கூடியவை. குறியீட்டு நிலையை குறிப்பிடுவதன் மூலமும் அதற்கு மதிப்பை ஒதுக்குவதன் மூலமும் ஒரு பட்டியல் உருப்படியை மாற்ற முடியும்.

>>> name									# Before modified
['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> name[0] = 'Karthi'
>>> name									# After Modified
['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']

பட்டியல் நேர்மறை மற்றும் எதிர்மறை அட்டவணைப்படுத்தலை ஆதரிக்கிறது.

அட்டவணைப்படுத்தல் 0 இலிருந்து தொடங்குகிறது மற்றும் எதிர்மறை அட்டவணைப்படுத்தல் -1 இலிருந்து தொடங்குகிறது.

பட்டியல் உருப்படியை அவற்றின் குறியீட்டு நிலையைப் பயன்படுத்தி அணுகலாம்.

>>> name[0]			# Accessing the List item at index 0
'Leo'
>>> name[1]
'Matt'
>>> name[4]
'Petter'
>>> name[5]
'Will'
>>> name[-1]			# Accessing the list item with negative indexing
'Will'
>>> name[-6]
'Leo'

பட்டியலில் உள்ள உருப்படிகளை அணுக துண்டுகளை பயன்படுத்தலாம். தொடக்க, முடிவு, படி அளவுருக்களை வரையறுப்பதன் மூலம் பலவிதமான உருப்படிகளை அணுக துண்டு துண்டாக அனுமதிக்கிறது.

# SYNTAX: list[starting position, ending position, Step]

>>> name[0:3]
['Tom', 'Leo', 'Matt']
>>> name[:]
['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> name[:4]
['Tom', 'Leo', 'Matt', 'Kane']
>>> name[:-2]
['Tom', 'Leo', 'Matt', 'Kane', 'Scott']
>>> name[:-1]
['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter']
>>> name[:-1:2]
['Tom', 'Matt', 'Scott']

list.count (x) முறையைப் பயன்படுத்தி கொடுக்கப்பட்ட மதிப்பிற்கான நிகழ்வுகளின் எண்ணிக்கையை நாம் காணலாம்.

>>> name_int = [1,1,2,3,1]
>>> name_int.count(1)
3

list.index (x [, start [, end]]) முறையைப் பயன்படுத்தி கொடுக்கப்பட்ட உருப்படியின் குறியீட்டு நிலையை நாம் காணலாம்.

>>> name			# Inserted ‘Will’ at the end of the list. Now we have 2 name ‘Will’.
['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will']
>>> name.index('Will)	# Returns the index position of first occurence of x.
0
>>> name.index('Will',2)	# Starting index positon’2’ is given.
7
>>> name.index('Will',2,4)	# Starting and Ending Index position is given. Since there is no 					occurence of ‘Will’ within the given search position it will throw 					Value Error.
Traceback (most recent call last):
File "<stdin>", line 1, in 
ValueError: 'Will' is not in list

பட்டியலில் உள்ள உருப்படிகளை மாற்றியமைக்க list.reverse() முறையைப் பயன்படுத்தலாம்.

>>> name
['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> name.reverse()
>>> name
['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi']

list.pop (x) முறையைப் பயன்படுத்தி ஒரு பட்டியலிலிருந்து ஒரு பொருளை x நிலையில் அகற்றலாம். இந்த செயல்பாடு பட்டியலிலிருந்து உருப்படியை அகற்றி அகற்றப்பட்ட உருப்படியைக் காண்பிக்கும். x குறிப்பிடப்படவில்லை என்றால், பாப்() முறை பட்டியலிலிருந்து கடைசி உருப்படியைத் தரும்.

>>> name
['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']
>>> name.pop(0)
'Will'
>>> name
['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']
>>> name.pop()
'Luis'

பட்டியலிலிருந்து உருப்படியை அகற்ற list.remove (x) முறையையும் பயன்படுத்தலாம். இங்கே x உருப்படியின் மதிப்பை எடுத்து x பட்டியலில் இல்லை என்றால் ஒரு மதிப்பு பிழையை வீசுகிறது.

>>> name = ['Leo','Matt','Kane','Scott','Petter','Will']
>>> name.remove('Leo')
>>> name
['Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> name.remove('Leo')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: list.remove(x): x not in list

பட்டியல் பெயரை சதுர அடைப்புக்குறிக்கு ஒதுக்குவதன் மூலமோ அல்லது list.clear() முறையைப் பயன்படுத்துவதன் மூலமோ ஒரு பட்டியலை காலியாக மாற்றலாம்.

>>> name1 = name.copy()
>>> name1
['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin']
>>> name
['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin']
>>> name = []			
>>> name
[]
>>> name1.clear()		
>>> name1
[]

பட்டியலை காலியாக மாற்றுவதற்கு பட்டியல் முறைகளைப் பயன்படுத்துவதற்குப் பதிலாக அல்லது பட்டியலிலிருந்து ஒரு உருப்படியை அகற்றுவதற்குப் பதிலாக, இந்த செயல்களைச் செய்ய del என்ற முக்கிய சொல்லில் கட்டப்பட்டதைப் பயன்படுத்தலாம். “டெல்” திறவுச்சொல் நினைவகத்திலிருந்து ஒரு பட்டியல் பொருளை நீக்கலாம் அல்லது ஒரு பட்டியலிலிருந்து ஒரு உருப்படியை நீக்கலாம் அல்லது ஒரு துண்டிலிருந்து ஒரு பொருளை நீக்கலாம்.

>>> name = ['Leo','Matt','Kane','Scott','Petter','Will']
>>> del name[0]
>>> name
['Matt', 'Kane', 'Scott', 'Petter', 'Will']
>>> del name[-3:]
>>> name
['Matt', 'Kane']
>>> del name[:]
>>> name
[]

ஐடி() செயல்பாட்டில் கட்டப்பட்டுள்ளது ஒரு பொருளின் identity "அடையாளத்தை" தருகிறது.இது ஒரு முழு எண், இது அதன் வாழ்நாளில் இந்த பொருளுக்கு தனித்துவமானதாகவும் நிலையானதாகவும் இருக்கும் என்று உத்தரவாதம் அளிக்கப்படுகிறது.

>>> id(name)
139979929658824
>>> del name
>>> id(name)
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'name' is not defined

குறிப்பு: del() ஐப் பயன்படுத்தி பட்டியல் மாறியை நினைவகத்திலிருந்து அகற்றியுள்ளோம், எனவே இது பெயர் பிழையை வீசுகிறது.

help() funtion:

ஒரு குறிப்பிட்ட பொருள் அல்லது அந்த பொருளின் முறைகள் பற்றிய விவரங்களைப் பெற செயல்பாடு() மிகவும் பயனுள்ளதாக இருக்கும்.

help(object)
help(object.method)

இந்த கட்டுரையில் இதுவரை, பட்டியல் முறைகளைப் பயன்படுத்தி பட்டியல் பொருள்களை சேமிக்கவும், அணுகவும், மாற்றவும், நீக்கவும் ஒரு பட்டியல் தரவு கட்டமைப்பை எவ்வாறு பயன்படுத்தலாம் என்பதைக் கண்டோம். ஐடி(), டிர்(), வகை(), உதவி() போன்ற சில உள்ளமைக்கப்பட்ட செயல்பாடுகளையும் நாங்கள் பார்த்துள்ளோம், அவை மிகவும் பயனுள்ள செயல்பாடுகளாகும். பைத்தானில் பட்டியல் புரிதலும் எங்களிடம் உள்ளது, இது ஒரு பட்டியலை உருவாக்குவதற்கான மிகவும் சுருக்கமான மற்றும் படிக்கக்கூடிய வழியை வழங்குகிறது.


அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை. © Linux-Console.net • 2019-2024