Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एक शब्दकोश की गहराई का पता लगाएं

एक पायथन डिक्शनरी को नेस्टेड किया जा सकता है यानी डिक्शनरी के भीतर डिक्शनरी होती है। इस लेख में हम देखेंगे कि नेस्टेड डिक्शनरी होने पर किसी डिक्शनरी में नेस्टिंग के स्तर की गणना कैसे की जाती है।

स्ट्रिंग रूपांतरण के साथ

इस दृष्टिकोण में हम पूरे शब्दकोश को एक स्ट्रिंग में बदल देते हैं। फिर हम बाईं ओर की संख्या गिनते हैं { जो इंगित करती है कि शब्दकोश किस स्तर पर नेस्टेड हैं।

उदाहरण

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. पायथन में एक शब्दकोश पर पुनरावृति

    इस लेख में, हम Python 3.x में शब्दकोश के पुनरावृत्ति/ट्रैवर्सल के बारे में जानेंगे। या पहले। डिक्शनरी की-वैल्यू पेयर का एक अनियंत्रित क्रम है। सूचकांक किसी भी अपरिवर्तनीय प्रकार के हो सकते हैं और उन्हें कुंजी कहा जाता है। यह घुंघराले ब्रेसिज़ में भी निर्दिष्ट है। विधि 1 - पुनरावर्तनीयों का सीधे उपय

  1. पायथन में शब्दकोश के तरीके

    पायथन में कुछ डिक्शनरी विधियाँ हैं जो नीचे दी गई हैं - Sr.No विधि का नाम और विवरण 1 पायथन डिक्शनरी क्लियर () सभी आइटम साफ़ करें 2 पायथन डिक्शनरी कॉपी () शब्दकोश की प्रति 3 कीज़ से पायथन डिक्शनरी() दिए गए क्रम से शब्दकोश बनाता है 4 पायथन डिक्शनरी get() कुंजी का मान प्राप्त करें

  1. पायथन डिक्शनरी में गैर-शून्य मानों का औसत कैसे खोजें?

    आप इसे डिक्शनरी पर पुनरावृति करके और पहले शून्य मानों को फ़िल्टर करके कर सकते हैं। फिर फ़िल्टर किए गए मानों का योग लें। अंत में, इन फ़िल्टर किए गए मानों की संख्या से विभाजित करें। उदाहरण my_dict = {"foo": 100, "bar": 0, "baz": 200} filtered_vals = [v for _, v in my_dic