কম্পিউটার টিউটোরিয়াল

পাইথনে ডিকশনারির ডেপথ (নেস্টিং লেভেল) বের করুন


সমস্যা বিবরণ

পাইথন ডিকশনারি নেস্টেড হতে পারে (ডিকশনারির ভেতরে ডিকশনারি)। ডিকশনারির নেস্টিং লেভেল বা ডেপথ বের করতে হবে।

পদ্ধতি ১: স্ট্রিং কনভার্সন এবং কাউন্ট

ডিকশনারিকে স্ট্রিংয়ে রূপান্তর করুন, তারপর { ক্যারেক্টার কাউন্ট করুন।

dictA = {1: 'Sun', 2: {3: {4: 'Mon'}}}
dictStr = str(dictA)
cnt = 0
for ch in dictStr:
    if ch == '{':
        cnt += 1
print("The depth of dictionary:", cnt)  # 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))  # 3
  1. পাইথনে ডিকশনারি থেকে সর্বোচ্চ ৩টি ভ্যালু বের করা

  2. পাইথনে ডিকশনারি (Dictionary) এর ওপর ইটারেট করা

  3. পাইথনে ডিকশনারি মেথডসমূহ (Dictionary Methods)

  4. পাইথন ডিকশনারিতে নন-জিরো ভ্যালুর গড় বের করা