কম্পিউটার

পাইথনে একটি অভিধানের গভীরতা খুঁজুন


একটি পাইথন অভিধান নেস্ট করা যেতে পারে যেমন, একটি অভিধানের মধ্যে অভিধান রয়েছে। এই প্রবন্ধে আমরা দেখব কীভাবে একটি অভিধানে নেস্টেড ডিকশনারিতে নেস্টিংয়ের মাত্রা গণনা করা যায়।

স্ট্রিং রূপান্তর সহ

এই পদ্ধতিতে আমরা পুরো অভিধানটিকে একটি স্ট্রিংয়ে রূপান্তর করি। তারপর আমরা বাম সংখ্যা গণনা করি { যা নির্দেশ করে কোন স্তরে অভিধানগুলি নেস্ট করা হয়েছে৷

উদাহরণ

dictA = {1: 'Sun', 2: {3: {4:'Mon'}}}
dictStr = str(dictA)
cnt = 0
for i in dictStr :
   if i == "{":
      cnt += 1
print("The depth of dictionary: ",cnt)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

The depth of dictionary: 3

পুনরাবৃত্তি সহ

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

উদাহরণ

def finddepth(dictA):
   if isinstance(dictA, dict):
      return 1 + (max(map(finddepth, dictA.values()))
         if dictA else 0)

   return 0

dictA = {1: 'Sun', 2: {3: {4:'Mon'}}}
print("The depth of dictionary: ",finddepth(dictA))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

The depth of dictionary: 3

  1. একটি অভিধানে সর্বোচ্চ ৩টি মান খুঁজে পেতে পাইথন প্রোগ্রাম

  2. পাইথনে একটি অভিধানে পুনরাবৃত্তি করুন

  3. পাইথনে অভিধান পদ্ধতি

  4. পাইথন অভিধানে অ-শূন্য মানগুলির গড় কীভাবে খুঁজে পাবেন?