പൈത്തൺ ട്യൂപ്പിൾസ് ഡാറ്റാ ഘടന പഠിക്കുക - ഭാഗം 2


പൈത്തൺ ഡാറ്റ സ്ട്രക്ചർ സീരീസിന്റെ ഈ ഭാഗം 2 ൽ, എന്താണ് ട്യൂപ്പിൾ, പൈത്തണിലെ മറ്റ് ഡാറ്റാ ഘടനയിൽ നിന്ന് ഇത് എങ്ങനെ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു, ട്യൂപ്പിൾ ഒബ്ജക്റ്റുകളും ട്യൂപ്പിൾ ഒബ്uജക്റ്റുകളുടെ രീതികളും എങ്ങനെ സൃഷ്ടിക്കാം, ഇല്ലാതാക്കാം, ലിസ്റ്റിൽ നിന്ന് ട്യൂപ്പിൾ എങ്ങനെ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു എന്നിവയെക്കുറിച്ച് ഞങ്ങൾ ചർച്ച ചെയ്യും.

  • പൈത്തൺ ട്യൂപ്പിൾസ് ലിസ്റ്റ് ഡാറ്റ ഘടനയ്ക്ക് സമാനമാണ്, എന്നാൽ ലിസ്റ്റും ട്യൂപ്പിളും തമ്മിലുള്ള പ്രധാന വ്യത്യാസം, ലിസ്റ്റ് മ്യൂട്ടബിൾ തരമാണ്, ട്യൂപ്പിൾസ് മാറ്റമില്ലാത്ത തരമാണ്.
  • ഇൻഡക്uസിംഗും (പോസിറ്റീവ്, നെഗറ്റീവ് ഇൻഡെക്uസിംഗ്) സ്ലൈസിംഗ് പ്രവർത്തനങ്ങളും ട്യൂപ്പിൾസ് പിന്തുണയ്uക്കുന്നു.
  • Tuples, പൊതുവായി, വൈവിധ്യമാർന്ന ഡാറ്റ സംഭരിക്കുന്നതിന് ഉപയോഗിക്കും.
  • ടൂപ്പിൾ വഴി ആവർത്തിക്കുന്ന ലിസ്uറ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വേഗതയേറിയതാണ്.
  • Tuples ഹാഷബിൾ ആയതിനാൽ നിഘണ്ടു വസ്uതുക്കളുടെ ഒരു “കീ” ആയി ഉപയോഗിക്കാം.
  • ലിസ്uറ്റ്, സെറ്റ് മുതലായവ പോലുള്ള മ്യൂട്ടബിൾ ഡാറ്റ തരം ട്യൂപ്പിളിനുള്ളിൽ ഞങ്ങൾക്ക് സംഭരിക്കാം.
  • എലമെന്റ് മ്യൂട്ടബിൾ തരത്തിലല്ലാതെ ട്യൂപ്പിളുകളുടെ മൂലകങ്ങൾ പരിഷ്uക്കരിക്കാനാവില്ല.
  • പരെന്തസിസ് ഉപയോഗിച്ച് ട്യൂപ്പിളുകളെ പ്രതിനിധീകരിക്കുന്നു \()\.

ട്യൂപ്പിൾ ഒബ്ജക്റ്റ് നിർമ്മിക്കുക

ലിസ്റ്റ് ട്യൂപ്പിളിന് സമാനമായി ഒബ്ജക്റ്റ് നിർമ്മിക്കുന്നതിന് 2 വഴികളുണ്ട്.

  1. Tuple കൺസ്ട്രക്റ്റർ രീതി \tuple()”.
  2. കോമയാൽ വേർതിരിച്ച മൂല്യങ്ങളുള്ള പരാൻതീസിസ്.

ശ്രദ്ധിക്കുക: നിങ്ങൾക്ക് നിരവധി മൂല്യങ്ങളുള്ള ശൂന്യമായ ട്യൂപ്പിൾ അല്ലെങ്കിൽ ട്യൂപ്പിൾ സൃഷ്ടിക്കാൻ കഴിയും, എന്നാൽ നിങ്ങൾ ഒരു മൂല്യമുള്ള ട്യൂപ്പിൾ സൃഷ്ടിക്കുമ്പോൾ അതിലേക്ക് ഒരു ട്രെയിലിംഗ് കോമ ചേർക്കണം, അല്ലാത്തപക്ഷം അത് ഒരു ട്യൂപ്പിൾ ഒബ്ജക്റ്റായി കണക്കാക്കില്ല.

കോമകളാൽ വേർതിരിക്കുന്ന ഒരു വേരിയബിളിന് ഒന്നിലധികം മൂല്യങ്ങൾ നൽകിക്കൊണ്ട് നിങ്ങൾക്ക് പരാൻതീസിസ് ഇല്ലാതെ ട്യൂപ്പിൾ സൃഷ്ടിക്കാൻ കഴിയും, അത് ട്യൂപ്പിൾ ഒബ്ജക്റ്റിലേക്ക് പരിവർത്തനം ചെയ്യപ്പെടും. ഇതിനെ ട്യൂപ്പിൾ പാക്കിംഗ് എന്ന് വിളിക്കുന്നു.

ട്യൂപ്പിൾ ഇൻഡക്uസിംഗും സ്ലൈസിംഗും

ലിസ്റ്റിന് സമാനമായി, ട്യൂപ്പിൾ ഇൻഡെക്സിംഗ്, സ്ലൈസിംഗ് ഓപ്പറേഷനും പിന്തുണയ്ക്കുന്നു.

ട്യൂപ്പിളിലെ ഓരോ ഇനവും (0) മുതൽ ആരംഭിക്കുന്ന ഒരു സൂചിക സ്ഥാനത്തേക്കും (-1) മുതൽ ആരംഭിക്കുന്ന നെഗറ്റീവ് ഇൻഡക്uസ് സ്ഥാനത്തേക്കും നിയുക്തമാക്കിയിരിക്കുന്നു. മൂല്യം ലഭിക്കുന്നതിന് നമുക്ക് ഇൻഡക്uസ് സ്ഥാനം ആക്uസസ് ചെയ്യാം അല്ലെങ്കിൽ ഒരു ലിസ്റ്റ് അല്ലെങ്കിൽ സെറ്റ് പോലെയുള്ള മ്യൂട്ടബിൾ തരങ്ങൾ മാത്രമാണെങ്കിൽ ട്യൂപ്പിൾ ഇനം അപ്uഡേറ്റ് ചെയ്യാം.

ലിസ്റ്റിലെ ഇനങ്ങൾ ആക്uസസ് ചെയ്യാൻ നമുക്ക് സ്ലൈസിംഗ് ഉപയോഗിക്കാം. ആരംഭ, അവസാന, ഘട്ട പാരാമീറ്ററുകൾ നിർവചിച്ചുകൊണ്ട് നിരവധി ഇനങ്ങൾ ആക്uസസ് ചെയ്യാൻ സ്ലൈസിംഗ് ഞങ്ങളെ അനുവദിക്കുന്നു.

ട്യൂപ്പിൾ ഒരു മാറ്റമില്ലാത്ത തരമായതിനാൽ, നിങ്ങൾക്ക് ട്യൂപ്പിളിൽ നിന്ന് ഘടകങ്ങൾ പരിഷ്uക്കരിക്കാനോ നീക്കം ചെയ്യാനോ കഴിയില്ല, പക്ഷേ ട്യൂപ്പിളിനുള്ളിൽ ഉള്ള ഒരു മ്യൂട്ടബിൾ എലമെന്റ് ഞങ്ങൾക്ക് പരിഷ്uക്കരിക്കാനോ ഇല്ലാതാക്കാനോ കഴിയും.

ഉദാഹരണം പരിഗണിക്കുക:

b = (1,2,3,'Leo',[12,13,14],(1.1,2.2))

സൂചിക 4-ൽ tuple b ന് ഉള്ളിൽ ഒരു മ്യൂട്ടബിൾ ഒബ്uജക്റ്റ് ലിസ്റ്റ് ഉണ്ട്. ഇപ്പോൾ നമുക്ക് ഈ ലിസ്റ്റിന്റെ ഘടകങ്ങൾ പരിഷ്uക്കരിക്കുകയോ ഇല്ലാതാക്കുകയോ ചെയ്യാം.

ട്യൂപ്പിൾ രീതികൾ

ട്യൂപ്പിൾ ഒബ്uജക്uറ്റുകൾക്കുള്ള രീതികളും ആട്രിബ്യൂട്ടുകളും ആക്uസസ് ചെയ്യുന്നതിന് ബിൽറ്റ്-ഇൻ \dir()” ഫംഗ്uഷൻ ഉപയോഗിക്കുക.

കൗണ്ട് (x) രീതി - ട്യൂപ്പിളിൽ x എത്ര തവണ ഉണ്ടെന്ന് നൽകുന്നു.

സൂചിക(x) രീതി - x ന്റെ ആദ്യ സൂചിക സ്ഥാനം നൽകുന്നു.

ലിസ്uറ്റിന് സമാനമായി \+” ഓപ്പറേറ്റർ ഉപയോഗിച്ച് രണ്ട് ട്യൂപ്പിൾ ഒബ്uജക്uറ്റുകൾ ഒരു ഒബ്uജക്uറ്റിലേക്ക് സംയോജിപ്പിക്കാം.

ട്യൂപ്പിൾ ഒബ്ജക്റ്റ് നീക്കംചെയ്യലും ഇല്ലാതാക്കലും

ട്യൂപ്പിൾ ഒരു മാറ്റമില്ലാത്ത തരമായതിനാൽ അതിൽ നിന്ന് ഘടകങ്ങൾ നീക്കം ചെയ്യാൻ ഞങ്ങൾക്ക് കഴിയില്ല. ബിൽറ്റ്-ഇൻ കീവേഡ് \del ഉപയോഗിച്ച് നമുക്ക് നെയിംസ്uപേസിൽ നിന്ന് ട്യൂപ്പിൾ ഒബ്uജക്റ്റ് ഇല്ലാതാക്കാം.

ഈ ലേഖനത്തിൽ, ട്യൂപ്പിൾ എന്താണ്, എങ്ങനെയാണ് ട്യൂപ്പിൾ നിർമ്മിക്കുന്നത്, ഇൻഡക്uസിംഗ്, സ്ലൈസിംഗ് ഓപ്പറേഷനുകൾ, ട്യൂപ്പിൾ രീതികൾ തുടങ്ങിയവ നിങ്ങൾ കണ്ടു. ട്യൂപ്പിൾ ഒരു മാറ്റമില്ലാത്ത തരം ആയതിനാൽ നിഘണ്ടുവിലെ ഒബ്uജക്റ്റുകളുടെ \കീ ആയി ഉപയോഗിക്കാം. ലിസ്റ്റുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ tuple വേഗതയുള്ളതാണ്. ഞങ്ങളുടെ പ്രോഗ്രാമിലുടനീളം സ്ഥിരമായി നിലനിൽക്കാൻ ഞങ്ങളുടെ ഡാറ്റ ഉള്ളപ്പോൾ tuple ഉപയോഗിക്കുന്നതാണ് നല്ലത്.

അടുത്ത ലേഖനത്തിൽ, ഞങ്ങൾ മറ്റൊരു ബിൽറ്റ്-ഇൻ ഡാറ്റാ ഘടന നിഘണ്ടു നോക്കും. അതുവരെ, നിങ്ങൾക്ക് ഇവിടെ ട്യൂപ്പിൾസിനെ കുറിച്ച് കൂടുതൽ വായിക്കാം.