পাইথনে 'ফর' লুপ দিয়ে অভিধানের পুনরাবৃত্তি বোঝা

পাইথনে 'ফর' লুপ দিয়ে অভিধানের পুনরাবৃত্তি বোঝা
পাইথনে 'ফর' লুপ দিয়ে অভিধানের পুনরাবৃত্তি বোঝা

পাইথন অভিধানের মাধ্যমে পুনরাবৃত্তি করা হচ্ছে

পাইথনে, অভিধানগুলি বহুমুখী ডেটা স্ট্রাকচার যা ডেভেলপারদের কী-মান জোড়া সংরক্ষণ করতে দেয়। এই অভিধানগুলির উপর পুনরাবৃত্তি করা একটি সাধারণ কাজ যা 'ফর' লুপ ব্যবহার করে দক্ষতার সাথে করা যেতে পারে। এই প্রক্রিয়াটি সহজবোধ্য মনে হতে পারে, কিন্তু এটি কীভাবে পাইথন লুপের মধ্যে থাকা উপাদানগুলিকে ব্যাখ্যা করে, বিশেষ করে 'কী'-এর মতো ভেরিয়েবলের ভূমিকা নিয়ে প্রশ্ন তোলে।

স্পষ্ট করার জন্য, 'ফর' লুপে 'কী' একটি বিশেষ কীওয়ার্ড নয় বরং এটি কেবল একটি পরিবর্তনশীল যা পুনরাবৃত্তির সময় অভিধানে প্রতিটি কীকে গ্রহণ করে। পরিষ্কার এবং কার্যকর পাইথন কোড লেখার জন্য এই ধারণাটি বোঝা অত্যন্ত গুরুত্বপূর্ণ। এই নিবন্ধে, আমরা অন্বেষণ করব কিভাবে পাইথন পুনরাবৃত্তির সময় অভিধান কী চিনতে এবং পরিচালনা করে।

আদেশ বর্ণনা
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 loops উদাহরণস্বরূপ, 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(), এবং ডিফল্টডিক্টের জন্য সহজ ব্যবহার করে, বিকাশকারীরা দক্ষতার সাথে অভিধান কী এবং মানগুলি অ্যাক্সেস এবং পরিচালনা করতে পারে। এই পদ্ধতিগুলি এবং তাদের যথাযথ ব্যবহারের ক্ষেত্রে বোঝা আরও পাঠযোগ্য এবং দক্ষ কোড নিশ্চিত করে, পাইথনে সামগ্রিক প্রোগ্রামিং দক্ষতা বৃদ্ধি করে।