डिक्शनरी में प्रत्येक की-वैल्यू पेयर पर निम्नलिखित एक्सप्रेशन द्वारा पुनरावृत्ति करना संभव है:
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)) # सभी नेस्टेड वैल्यूज की कुल संख्या