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

नेस्टेड पायथन डिक्शनरी में एलिमेंट्स कैसे गिनें?

डिक्शनरी में प्रत्येक की-वैल्यू पेयर पर निम्नलिखित एक्सप्रेशन द्वारा पुनरावृत्ति करना संभव है:

for k, v in students.items():

चूंकि नेस्टेड पायथन डिक्शनरी में प्रत्येक आइटम का वैल्यू कंपोनेंट स्वयं एक डिक्शनरी है, प्रत्येक सब-डिक्शनरी की लंबाई len(v) है। लूप पर संचयी जोड़ करके सभी एलिमेंट्स की संख्या प्राप्त करें।

>>> students = {
...     "student1": {"name": "Raaj", "age": 23, "subjects": ["Phy", "Che", "maths"], "GPA": 8.5},
...     "student2": {"name": "Kiran", "age": 21, "subjects": ["Phy", "Che", "bio"], "GPA": 8.25}
... }
>>> s = 0
>>> for k, v in students.items():
...     s = s + len(v)
>>> s
8

उपरोक्त का एक अधिक कॉम्पैक्ट प्रतिनिधित्व होगा:

>>> sum(len(v) for v in students.values())
8

सभी नेस्टेड वैल्यूज गिनने के लिए (रिकर्सिव)

def count_all_values(d):
    count = 0
    for v in d.values():
        if isinstance(v, dict):
            count += count_all_values(v)
        elif isinstance(v, (list, tuple, set)):
            count += len(v)
        else:
            count += 1
    return count

print(count_all_values(students))  # सभी नेस्टेड वैल्यूज की कुल संख्या
  1. - नेस्टेड पायथन डिक्शनरी को रिकर्सिवली कैसे इटरेट करें?

    नीचे एक नेस्टेड डिक्शनरी ऑब्जेक्ट दिया गया है: D1 = {1: {2: {3: 4, 5: 6}, 3: {4: 5, 6: 7}}, 2: {3: {4: 5}, 4: {6: 7}}} उदाहरण निम्नलिखित रिकर्सिव फ़ंक्शन को बार-बार कॉल किया जाता है यदि डिक्शनरी में प्रत्येक आइटम का वैल्यू कंपोनेंट स्वयं एक डिक्शनरी है। def iterdict(d): for k, v in d.items():

  1. - Python में Dictionary के माध्यम से Iterate कैसे करें?

    Python Dictionary पर Iterate करने के तरीके Python Dictionary Object के माध्यम से Iterate करने के दो मुख्य तरीके हैं। तरीका 1: Keys() का उपयोग करके पहला तरीका है keys() List में प्रत्येक Key के लिए Associated Value को Fetch करना। >>> D1 = {1:a, 2:b, 3:c} >>> for k in D1.keys(): ..

  1. - Python में String को Dictionary में Convert कैसे करें?

    String को Dictionary में Convert करना तरीका 1: ast.literal_eval() (सुरक्षित) हम ast.literal_eval() का उपयोग यहां String को Python Expression के रूप में Evaluate करने के लिए कर सकते हैं। यह Safely Expression Node या Python Expression वाले String को Evaluate करता है। String या Node में केवल निम्न Py