Python-ലെ 𝗟𝗶𝘀𝘁 𝗖𝗼𝗺𝗽𝗿𝗲𝗵𝗲𝗻𝘀𝗶𝗼𝗻𝘀 𝘃𝘀 𝗧𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗟𝗼𝗼𝗽𝘀

കുറഞ്ഞ കോഡ് ഉപയോഗിച്ച് കൂടുതൽ കാര്യങ്ങൾ ചെയ്യാൻ Python നിങ്ങളെ സഹായിക്കുന്നു.

ഇതിലൊന്ന് list comprehensions ഉപയോഗിക്കുക എന്നതാണ്.

പല ഡെവലപ്പർമാരും ചിന്തിക്കാറുണ്ട്: കുറഞ്ഞ കോഡ് എപ്പോഴും നല്ലതാണോ? എല്ലാ ലൂപ്പുകളും ഒരു comprehension കൊണ്ട് മാറ്റണമോ?

എങ്ങനെ തിരഞ്ഞെടുക്കാം എന്ന് നോക്കാം.

𝗧𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗟𝗼𝗼𝗽𝘀

Traditional loops ഘട്ടം ഘട്ടമായി പ്രവർത്തിക്കുന്നു.

  • ഒരു empty list നിർമ്മിക്കുക
  • ഡാറ്റയിലൂടെ iterate ചെയ്യുക
  • ഒരു calculation നടത്തുക
  • ഫലം append ചെയ്യുക

എപ്പോഴാണ് loops ഉപയോഗിക്കേണ്ടത്:

  • നിങ്ങളുടെ ലോജിക് സങ്കീർണ്ണമാണെങ്കിൽ
  • ഒന്നിലധികം ഘട്ടങ്ങൾ ഡിബഗ് (debug) ചെയ്യേണ്ടതുണ്ടെങ്കിൽ
  • പ്രിന്റിംഗ് അല്ലെങ്കിൽ ലോഗിംഗ് പോലുള്ള side effects ചെയ്യേണ്ടതുണ്ടെങ്കിൽ
  • ധാരാളം nested conditions ഉണ്ടെങ്കിൽ

Loops നിങ്ങളുടെ ഉദ്ദേശ്യം വ്യക്തമാക്കുന്നു. ആശയക്കുഴപ്പമില്ലാതെ മറ്റുള്ളവർക്ക് നിങ്ങളുടെ കോഡ് വായിക്കാൻ ഇത് സഹായിക്കുന്നു.

𝗟𝗶𝘀𝘁 𝗖𝗼𝗺𝗽𝗿𝗲𝗵𝗲𝗻𝘀𝗶𝗼𝗻𝘀

ഒരു list comprehension ഒരേ ജോലി ഒറ്റ വരിയിൽ ചെയ്യുന്നു.

  • ഇത് iteration-ഉം transformation-ഉം സംയോജിപ്പിക്കുന്നു
  • ഇത് പെട്ടെന്ന് തന്നെ ഒരു പുതിയ collection നിർമ്മിക്കുന്നു
  • ഇത് സാധാരണയായി ഒരു loop-നേക്കാൾ വേഗതയുള്ളതാണ്

എപ്പോഴാണ് comprehensions ഉപയോഗിക്കേണ്ടത്:

  • ജോലി ഒരു ലളിതമായ transformation ആണെങ്കിൽ
  • ഒരു കണ്ടീഷൻ അടിസ്ഥാനമാക്കി നിങ്ങൾ ഒരു ലിസ്റ്റ് ഫിൽട്ടർ ചെയ്യുകയാണെങ്കിൽ
  • ലളിതമായ ജോലികൾക്കായി വൃത്തിയുള്ളതും ചുരുങ്ങിയതുമായ കോഡ് എഴുതാൻ ആഗ്രഹിക്കുന്നുണ്ടെങ്കിൽ

Data cleaning-നും അടിസ്ഥാന ഗണിതക്രിയകൾക്കും (basic math) comprehensions വളരെ കാര്യക്ഷമമാണ്.

𝗧𝗵𝗲 𝗗𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝗰𝗲𝘀

• കോഡ് ദൈർഘ്യം (Code Length): Comprehensions കുറഞ്ഞ വരികളുള്ളതാണ്. Loops കൂടുതൽ വരികളുള്ളതാണ്. • പെർഫോമൻസ് (Performance): ഇന്റേണൽ ഒപ്റ്റിമൈസേഷൻ (internal optimization) കാരണം Comprehensions പലപ്പോഴും വേഗതയുള്ളതാണ്. • വായനാസുഖം (Readability): ലളിതമായ ജോലികൾക്ക് Comprehensions മികച്ചതാണ്. സങ്കീർണ്ണമായ ലോജിക്കിന് Loops ആണ് നല്ലത്. • ഫ്ലെക്സിബിലിറ്റി (Flexibility): ഒന്നിലധികം ഘട്ടങ്ങളുള്ള പ്രക്രിയകൾക്ക് Loops കൂടുതൽ ഫ്ലെക്സിബിലിറ്റി നൽകുന്നു.

𝗔 𝗕𝗮𝗹𝗮𝗻𝗰𝗲𝗱 𝗔𝗽𝗽𝗿𝗼𝗮𝗰𝗵

കോഡ് വായിക്കാൻ പ്രയാസമുണ്ടാക്കുന്നുണ്ടെങ്കിൽ ഒരു comprehension ഉപയോഗിക്കാൻ നിർബന്ധിക്കരുത്.

മൂന്നോ അതിലധികമോ കണ്ടീഷനുകൾ ഉപയോഗിച്ച് ഒരു comprehension എഴുതാൻ നിങ്ങൾ ശ്രമിക്കുന്നുണ്ടെങ്കിൽ, അവിടെ നിർത്തുക. പകരം ഒരു traditional loop ഉപയോഗിക്കുക.

ആദ്യം മനുഷ്യർക്ക് വായിക്കാൻ പാകത്തിൽ കോഡ് എഴുതുക. പെർഫോമൻസിനായി രണ്ടാമതായി കോഡ് എഴുതുക.

Source: https://dev.to/shalinivemuri/list-comprehensions-vs-traditional-loops-in-python-4f6n

Optional learning community: https://t.me/GyaanSetuAi