പൈത്തണിലെ 'ഫോർ' ലൂപ്പുകൾ ഉപയോഗിച്ച് നിഘണ്ടു ആവർത്തനം മനസ്സിലാക്കുന്നു

പൈത്തണിലെ 'ഫോർ' ലൂപ്പുകൾ ഉപയോഗിച്ച് നിഘണ്ടു ആവർത്തനം മനസ്സിലാക്കുന്നു
പൈത്തണിലെ 'ഫോർ' ലൂപ്പുകൾ ഉപയോഗിച്ച് നിഘണ്ടു ആവർത്തനം മനസ്സിലാക്കുന്നു

പൈത്തൺ നിഘണ്ടുകളിലൂടെ ആവർത്തിക്കുന്നു

പൈത്തണിൽ, നിഘണ്ടുക്കൾ, കീ-വാല്യൂ ജോഡികൾ സംഭരിക്കാൻ ഡവലപ്പർമാരെ അനുവദിക്കുന്ന ബഹുമുഖ ഡാറ്റാ ഘടനകളാണ്. ഈ നിഘണ്ടുക്കളിൽ ആവർത്തിക്കുന്നത് 'ഫോർ' ലൂപ്പുകൾ ഉപയോഗിച്ച് കാര്യക്ഷമമായി ചെയ്യാൻ കഴിയുന്ന ഒരു സാധാരണ ജോലിയാണ്. ഈ പ്രക്രിയ നേരായതായി തോന്നിയേക്കാം, പക്ഷേ ലൂപ്പിനുള്ളിലെ ഘടകങ്ങളെ പൈത്തൺ എങ്ങനെ വ്യാഖ്യാനിക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള ചോദ്യങ്ങൾ ഉയർത്തുന്നു, പ്രത്യേകിച്ച് 'കീ' പോലുള്ള വേരിയബിളുകളുടെ പങ്ക്.

വ്യക്തമാക്കുന്നതിന്, 'ഫോർ' ലൂപ്പിലെ 'കീ' എന്നത് ഒരു പ്രത്യേക കീവേഡല്ല, മറിച്ച് ആവർത്തന സമയത്ത് നിഘണ്ടുവിലെ ഓരോ കീയും എടുക്കുന്ന ഒരു വേരിയബിളാണ്. വ്യക്തവും ഫലപ്രദവുമായ പൈത്തൺ കോഡ് എഴുതുന്നതിന് ഈ ആശയം മനസ്സിലാക്കുന്നത് നിർണായകമാണ്. ഈ ലേഖനത്തിൽ, ആവർത്തന സമയത്ത് പൈത്തൺ നിഘണ്ടു കീകൾ എങ്ങനെ തിരിച്ചറിയുകയും കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു എന്ന് ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യും.

കമാൻഡ് വിവരണം
items() ഒരു നിഘണ്ടുവിലെ കീ-മൂല്യം ട്യൂപ്പിൾ ജോഡികളുടെ ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്ന ഒരു വ്യൂ ഒബ്ജക്റ്റ് നൽകുന്നു.
f-string ചുരുണ്ട ബ്രേസുകൾ {} ഉപയോഗിച്ച് സ്ട്രിംഗ് ലിറ്ററലിനുള്ളിൽ എക്സ്പ്രഷനുകൾ ഉൾച്ചേർക്കാൻ അനുവദിക്കുന്ന സ്ട്രിംഗ് ഫോർമാറ്റിംഗ് രീതി.
keys() നിഘണ്ടുവിലെ എല്ലാ കീകളുടെയും ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്ന ഒരു വ്യൂ ഒബ്ജക്റ്റ് നൽകുന്നു.
list() ഒരു ലിസ്റ്റ് ഒബ്ജക്റ്റ് സൃഷ്ടിക്കുന്നു. ഈ സന്ദർഭത്തിൽ, കീകൾ() നൽകിയ വ്യൂ ഒബ്ജക്റ്റിനെ ഇത് ഒരു ലിസ്റ്റിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു.
range() ലൂപ്പുകൾക്കായി ഒരു നിശ്ചിത എണ്ണം തവണ ലൂപ്പ് ചെയ്യുന്നതിന് സാധാരണയായി ഉപയോഗിക്കുന്ന സംഖ്യകളുടെ ഒരു ശ്രേണി സൃഷ്ടിക്കുന്നു.
len() ഒരു ഒബ്‌ജക്‌റ്റിലെ ഇനങ്ങളുടെ എണ്ണം നൽകുന്നു. ഈ സാഹചര്യത്തിൽ, ഇത് നിഘണ്ടുവിലെ കീകളുടെ എണ്ണം നൽകുന്നു.
def പൈത്തണിൽ ഒരു ഫംഗ്ഷൻ നിർവചിക്കുന്നു.

നിഘണ്ടു ആവർത്തന സാങ്കേതിക വിദ്യകൾ മനസ്സിലാക്കുന്നു

പൈത്തണിലെ നിഘണ്ടുക്കളിലൂടെ ആവർത്തിക്കുന്നതിനുള്ള വ്യത്യസ്ത രീതികൾ നൽകിയിരിക്കുന്ന സ്ക്രിപ്റ്റുകൾ ചിത്രീകരിക്കുന്നു. ആദ്യ സ്ക്രിപ്റ്റ് ഒരു ലളിതമായ ഉപയോഗിക്കുന്നു for നിഘണ്ടുവിലൂടെ ആവർത്തിക്കാനുള്ള ലൂപ്പ് d. ഓരോ ആവർത്തനത്തിനും, വേരിയബിൾ key നിഘണ്ടുവിലെ ഒരു കീയുടെ മൂല്യം എടുക്കുന്നു, അനുബന്ധ മൂല്യം ഉപയോഗിച്ച് ആക്സസ് ചെയ്യുന്നു d[key]. ഈ രീതി ലളിതവും അടിസ്ഥാന കീ മൂല്യം വീണ്ടെടുക്കാൻ പലപ്പോഴും ഉപയോഗിക്കുന്നു. രണ്ടാമത്തെ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു items() രീതി, ഒരു നിഘണ്ടുവിലെ കീ-മൂല്യം ട്യൂപ്പിൾ ജോഡികളുടെ ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്ന ഒരു വ്യൂ ഒബ്ജക്റ്റ് നൽകുന്നു. ഉപയോഗിച്ച് for key, value in d.items(), സ്ക്രിപ്റ്റിന് ഒരു ആവർത്തനത്തിൽ കീകളും മൂല്യങ്ങളും നേരിട്ട് ആക്സസ് ചെയ്യാൻ കഴിയും, അത് കൂടുതൽ കാര്യക്ഷമവും വായിക്കാവുന്നതുമാണ്.

മൂന്നാമത്തെ സ്ക്രിപ്റ്റിൽ, ദി keys() നിഘണ്ടുവിലെ എല്ലാ കീകളുടെയും ഒരു വ്യൂ ഒബ്‌ജക്റ്റ് ലഭിക്കുന്നതിന് ഈ രീതി ഉപയോഗിക്കുന്നു, അത് ഉപയോഗിച്ച് ഒരു ലിസ്റ്റായി പരിവർത്തനം ചെയ്യുന്നു list() പ്രവർത്തനം. ഈ ലിസ്‌റ്റ് വീണ്ടും ആവർത്തിക്കുന്നു, നിഘണ്ടുവിൽ നിന്ന് അനുബന്ധ മൂല്യം വീണ്ടെടുക്കാൻ ഓരോ കീയും ഉപയോഗിക്കുന്നു. നിങ്ങൾക്ക് കീകൾ പ്രത്യേകമായി കൈകാര്യം ചെയ്യാനോ ആക്‌സസ് ചെയ്യാനോ ആവശ്യമുള്ളപ്പോൾ ഈ രീതി ഉപയോഗപ്രദമാണ്. നാലാമത്തെ സ്ക്രിപ്റ്റ് ഒരു ഫംഗ്ഷനെ നിർവചിക്കുന്നു def print_dict(d) ഒരു നിഘണ്ടു ഒരു വാദമായി എടുക്കുകയും അതിലെ ഉള്ളടക്കങ്ങൾ അച്ചടിക്കുകയും ചെയ്യുന്നു. ഇതുപോലുള്ള ഫംഗ്‌ഷനുകൾ ലോജിക് സംയോജിപ്പിക്കാനും കോഡ് പുനരുപയോഗം ചെയ്യാനും സഹായിക്കുന്നു. അവസാനമായി, അഞ്ചാമത്തെ സ്ക്രിപ്റ്റ് സംയോജിപ്പിക്കുന്നു list() ഒപ്പം range() ഒരു സൂചിക ഉപയോഗിച്ച് നിഘണ്ടുവിൽ ആവർത്തിക്കുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ. ദി len() കീകളുടെ എണ്ണം നിർണ്ണയിക്കാൻ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു, കീകളിലേക്കും മൂല്യങ്ങളിലേക്കും ഇൻഡെക്‌സ് ചെയ്‌ത ആക്‌സസ് പ്രവർത്തനക്ഷമമാക്കുന്നു. ഇൻഡക്‌സ് ചെയ്‌ത പ്രവർത്തനങ്ങളോ കൃത്രിമത്വങ്ങളോ ആവശ്യമായ സാഹചര്യങ്ങളിൽ ഈ സമീപനം സഹായകമാകും.

'ഫോർ' ലൂപ്പുകൾ ഉപയോഗിച്ച് പൈത്തൺ നിഘണ്ടുവിലൂടെ ആവർത്തിക്കുന്നു

പൈത്തൺ സ്ക്രിപ്റ്റ്

d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
    print(key, 'corresponds to', d[key])

ആവർത്തനത്തിനായി ഇനങ്ങളുടെ രീതി ഉപയോഗിക്കുന്നു

പൈത്തൺ സ്ക്രിപ്റ്റ്

d = {'x': 1, 'y': 2, 'z': 3}
for key, value in d.items():
    print(f'{key} corresponds to {value}')

ഒരു നിഘണ്ടുവിൽ കീ ആവർത്തനം മനസ്സിലാക്കൽ

പൈത്തൺ സ്ക്രിപ്റ്റ്

d = {'x': 1, 'y': 2, 'z': 3}
keys = d.keys()
for key in keys:
    print(f'Key: {key} -> Value: {d[key]}')

നിഘണ്ടു ഉള്ളടക്കങ്ങൾ അച്ചടിക്കുന്നതിന് ഒരു ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു

പൈത്തൺ സ്ക്രിപ്റ്റ്

def print_dict(d):
    for key in d:
        print(f'{key} corresponds to {d[key]}')

d = {'x': 1, 'y': 2, 'z': 3}
print_dict(d)

ഇൻഡെക്സിനൊപ്പം നിഘണ്ടു ഓവർ ചെയ്യുന്നു

പൈത്തൺ സ്ക്രിപ്റ്റ്

d = {'x': 1, 'y': 2, 'z': 3}
keys = list(d.keys())
for i in range(len(keys)):
    print(f'{keys[i]} corresponds to {d[keys[i]]}')

നിഘണ്ടു ആവർത്തനത്തിലേക്ക് ആഴത്തിൽ മുങ്ങുന്നു

പൈത്തണിലെ നിഘണ്ടുക്കളിൽ ആവർത്തിക്കുന്നതിൻ്റെ മറ്റൊരു നിർണായക വശം ലളിതത്തിനപ്പുറം വ്യത്യസ്ത രീതികളും അവയുടെ ഉപയോഗ സാഹചര്യങ്ങളും മനസ്സിലാക്കുക എന്നതാണ്. for ലൂപ്പുകൾ. ഉദാഹരണത്തിന്, ദി dict.get() ഒരു നിഘണ്ടുവിൽ നിന്ന് മൂല്യങ്ങൾ വീണ്ടെടുക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുമ്പോൾ, കീ കണ്ടെത്തിയില്ലെങ്കിൽ, ഒരു KeyError ഉന്നയിക്കാതെ തന്നെ ഈ രീതി ഉപയോഗപ്രദമാകും. നിഘണ്ടുവിൽ കീ നിലവിലില്ലെങ്കിൽ തിരികെ നൽകുന്നതിന് സ്ഥിരസ്ഥിതി മൂല്യം വ്യക്തമാക്കാൻ ഈ രീതി നിങ്ങളെ അനുവദിക്കുന്നു. ഉപയോഗിക്കുന്നത് dict.get(key, default), നിങ്ങൾക്ക് നഷ്‌ടമായ കീകൾ സുരക്ഷിതമായി കൈകാര്യം ചെയ്യാൻ കഴിയും, ഇത് ഡാറ്റ പ്രോസസ്സിംഗിനും അപൂർണ്ണമായ ഡാറ്റാസെറ്റുകൾ കൈകാര്യം ചെയ്യുന്നതിനും അത്യാവശ്യമാണ്.

കൂടാതെ, ആവർത്തിക്കാവുന്ന ഡാറ്റയിൽ നിന്ന് നിഘണ്ടുക്കൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഒരു സംക്ഷിപ്ത മാർഗം നിഘണ്ടു മനസ്സിലാക്കലുകൾ നൽകുന്നു. ലിസ്റ്റ് കോംപ്രിഹെൻഷനുകൾ പോലെ, നിഘണ്ടു ഗ്രഹണങ്ങൾ വാക്യഘടന ഉപയോഗിക്കുന്നു {key: value for item in iterable}. നിഘണ്ടുക്കൾ കാര്യക്ഷമമായി രൂപാന്തരപ്പെടുത്തുന്നതിനോ ഫിൽട്ടർ ചെയ്യുന്നതിനോ ഈ രീതി പ്രയോജനകരമാണ്. മറ്റൊരു നൂതന സാങ്കേതികത ഉൾപ്പെടുന്നു defaultdict മുതൽ ക്ലാസ് collections മൊഡ്യൂൾ. ബിൽറ്റ്-ഇൻ നിഘണ്ടുവിലെ ഈ ഉപവിഭാഗം, നിഘണ്ടുവിനായി ഒരു സ്ഥിരസ്ഥിതി തരം വ്യക്തമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. int അഥവാ list. നിലവിലില്ലാത്ത ഒരു കീ ആക്സസ് ചെയ്യുമ്പോൾ, defaultdict ഡിഫോൾട്ട് തരം ഉപയോഗിച്ച് സ്വയമേവ ഒരു എൻട്രി സൃഷ്ടിക്കുന്നു, ഇത് നിഘണ്ടു എൻട്രികൾ ആരംഭിക്കേണ്ട കോഡിംഗ് പാറ്റേണുകൾ ലളിതമാക്കുന്നു.

പൈത്തൺ നിഘണ്ടു ആവർത്തനത്തെക്കുറിച്ചുള്ള പൊതുവായ ചോദ്യങ്ങൾ

  1. ഉപയോഗിക്കുന്നതിൻ്റെ പ്രയോജനം എന്താണ് dict.get()?
  2. ഒരു KeyError ഉന്നയിക്കാതെ തന്നെ നഷ്‌ടമായ കീകൾ കൈകാര്യം ചെയ്യാനും സ്ഥിരസ്ഥിതി മൂല്യം വ്യക്തമാക്കാനും ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.
  3. നിഘണ്ടു മനസ്സിലാക്കലുകൾ എങ്ങനെ പ്രവർത്തിക്കും?
  4. അവർ വാക്യഘടന ഉപയോഗിക്കുന്നു {key: value for item in iterable} സംക്ഷിപ്തമായ രീതിയിൽ നിഘണ്ടുക്കൾ സൃഷ്ടിക്കാൻ.
  5. എന്താണ് ഒരു defaultdict?
  6. നിലവിലില്ലാത്ത കീകൾക്ക് ഡിഫോൾട്ട് മൂല്യം നൽകുന്ന അന്തർനിർമ്മിത നിഘണ്ടുവിൻ്റെ ഒരു ഉപവിഭാഗം.
  7. എപ്പോഴാണ് ഉപയോഗിക്കേണ്ടത് dict.items()?
  8. ഒരു ലൂപ്പിൽ ഒരേസമയം കീകളും മൂല്യങ്ങളും ആക്‌സസ് ചെയ്യേണ്ടിവരുമ്പോൾ ഇത് ഉപയോഗിക്കുക.
  9. ഒരു നിഘണ്ടു കീകൾ ഒരു ലിസ്‌റ്റാക്കി മാറ്റുന്നത് എങ്ങനെ?
  10. ഉപയോഗിച്ച് list(dict.keys()) രീതി.
  11. എന്താണ് ചെയ്യുന്നത് len() നിഘണ്ടുക്കളുടെ പശ്ചാത്തലത്തിൽ ചെയ്യണോ?
  12. ഇത് നിഘണ്ടുവിലെ കീ-വാല്യൂ ജോഡികളുടെ എണ്ണം നൽകുന്നു.
  13. നിഘണ്ടു ഉള്ളടക്കങ്ങൾ പ്രിൻ്റ് ചെയ്യാൻ നിങ്ങൾക്ക് ഒരു ഫംഗ്ഷൻ ഉപയോഗിച്ചേക്കാവുന്നത് എന്തുകൊണ്ട്?
  14. ലോജിക് സംയോജിപ്പിക്കാനും കോഡ് കൂടുതൽ പുനരുപയോഗിക്കാവുന്നതും ഓർഗനൈസ് ചെയ്യാനും.
  15. എങ്ങിനെയാണ് f-string നിഘണ്ടു ഉള്ളടക്കം അച്ചടിക്കാൻ സഹായിക്കണോ?
  16. കൂടുതൽ വായിക്കാനാകുന്ന ഔട്ട്‌പുട്ടിനായി സ്ട്രിംഗ് ലിറ്ററലിനുള്ളിൽ എക്‌സ്‌പ്രഷനുകൾ ഉൾച്ചേർക്കാൻ ഇത് അനുവദിക്കുന്നു.
  17. എന്താണ് ഉദ്ദേശ്യം for key in dict വാക്യഘടന?
  18. ഇത് ഡിഫോൾട്ടായി നിഘണ്ടുവിലെ കീകളിൽ ആവർത്തിക്കുന്നു.

നിഘണ്ടു ആവർത്തനം പൊതിയുന്നു

നിഘണ്ടുക്കളിൽ ആവർത്തിക്കുന്നതിലുള്ള പൈത്തണിൻ്റെ വഴക്കം അതിനെ ഡാറ്റാ കൃത്രിമത്വത്തിനുള്ള ശക്തമായ ഭാഷയാക്കുന്നു. ലൂപ്പുകൾ, dict.items(), defaultdict എന്നിവയ്‌ക്കായി ലളിതം ഉപയോഗിക്കുന്നതിലൂടെ, ഡെവലപ്പർമാർക്ക് നിഘണ്ടു കീകളും മൂല്യങ്ങളും കാര്യക്ഷമമായി ആക്‌സസ് ചെയ്യാനും നിയന്ത്രിക്കാനും കഴിയും. ഈ രീതികളും അവയുടെ ഉചിതമായ ഉപയോഗ സാഹചര്യങ്ങളും മനസ്സിലാക്കുന്നത് പൈത്തണിലെ മൊത്തത്തിലുള്ള പ്രോഗ്രാമിംഗ് പ്രാവീണ്യം വർദ്ധിപ്പിക്കുന്നതിന് കൂടുതൽ വായിക്കാവുന്നതും കാര്യക്ഷമവുമായ കോഡ് ഉറപ്പാക്കുന്നു.