কম্পিউটার

পাইথন অভিধানে অনুপস্থিত কীগুলি পরিচালনা করা


পাইথনে ডিকশনারি নামে একটি ধারক রয়েছে। অভিধানে, আমরা এর মান কী ম্যাপ করতে পারি। অভিধান ব্যবহার করে মান ধ্রুবক সময়ে অ্যাক্সেস করা যেতে পারে। কিন্তু যখন প্রদত্ত কীগুলি উপস্থিত না থাকে, তখন কিছু ত্রুটি ঘটতে পারে৷

এই বিভাগে আমরা এই ধরণের ত্রুটিগুলি কীভাবে পরিচালনা করতে হয় তা দেখব। যদি আমরা অনুপস্থিত কীগুলি অ্যাক্সেস করার চেষ্টা করি তবে এটি এই জাতীয় ত্রুটিগুলি ফিরিয়ে দিতে পারে৷

উদাহরণ কোড

country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'}
print(country_dict['Australia'])
print(country_dict['Canada']) # This will return error

আউটপুট

AU
---------------------------------------------------------------------------
KeyErrorTraceback (most recent call last)
<ipython-input-2-a91092e7ee85> in <module>()
      2 
      3 print(country_dict['Australia'])
----> 4 print(country_dict['Canada'])# This will return error

KeyError: 'Canada'

কী ত্রুটি পরিচালনা করার জন্য get() পদ্ধতি ব্যবহার করা

আমরা কী পরীক্ষা করার জন্য get পদ্ধতি ব্যবহার করতে পারি। এই পদ্ধতিতে দুটি পরামিতি লাগে। প্রথমটি হল কী, এবং দ্বিতীয়টি হল ডিফল্ট মান৷ যখন কীটি পাওয়া যায়, এটি কীটির সাথে সম্পর্কিত মানটি ফেরত দেবে, কিন্তু যখন কীটি উপস্থিত থাকবে না, তখন এটি ডিফল্ট মানটি ফিরিয়ে দেবে, যা দ্বিতীয় যুক্তি হিসাবে পাস করা হয়েছে৷

উদাহরণ কোড

country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'}
print(country_dict.get('Australia', 'Not Found'))
print(country_dict.get('Canada', 'Not Found'))

আউটপুট

AU
Not Found

কি ত্রুটি পরিচালনা করতে setdefault() পদ্ধতি ব্যবহার করা

এই setdefault() পদ্ধতিটি get() পদ্ধতির অনুরূপ। এটি get() এর মত দুটি আর্গুমেন্টও নেয়। প্রথমটি কী এবং দ্বিতীয়টি ডিফল্ট মান। এই পদ্ধতির একমাত্র পার্থক্য হল, যখন একটি অনুপস্থিত কী থাকে, তখন এটি ডিফল্ট মান সহ নতুন কী যোগ করবে।

উদাহরণ কোড

country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'}
country_dict.setdefault('Canada', 'Not Present') #Set a default value for Canada
print(country_dict['Australia'])
print(country_dict['Canada'])

আউটপুট

AU
Not Present

ডিফল্টডিক্ট ব্যবহার করা

ডিফল্টডিক্ট একটি ধারক। এটি পাইথনের সংগ্রহ মডিউলে অবস্থিত। ডিফল্টডিক্ট তার যুক্তি হিসাবে ডিফল্ট কারখানা নেয়। প্রাথমিকভাবে ডিফল্ট ফ্যাক্টরি 0 (পূর্ণসংখ্যা) সেট করা হয়। যখন একটি কী উপস্থিত না থাকে, তখন এটি ডিফল্ট কারখানার মান প্রদান করে।

আমাদের বারবার পদ্ধতিগুলি নির্দিষ্ট করার দরকার নেই, তাই এটি অভিধান বস্তুর জন্য দ্রুত পদ্ধতি প্রদান করে৷

উদাহরণ কোড

import collections as col
#set the default factory with the string 'key not present'
country_dict = col.defaultdict(lambda: 'Key Not Present')
country_dict['India'] = 'IN'
country_dict['Australia'] = 'AU'
country_dict['Brazil'] = 'BR'
print(country_dict['Australia'])
print(country_dict['Canada'])

আউটপুট

AU
Key Not Present

  1. পাইথনে প্যাটার্ন কিভাবে প্রিন্ট করবেন?

  2. দুটি পাইথন অভিধানে থাকা কীগুলির মধ্যে পার্থক্য কীভাবে খুঁজে পাবেন?

  3. পাইথনে একটি অভিধানের সমস্ত কী কীভাবে প্রিন্ট করবেন?

  4. পাইথন অভিধান