def count_elements(d, key):#统计字典中某个键对应的值的个数,也就是每个类对应的元素个数,输出元素个数和具体元素
count = 0
element=[]
if key in d:
value = d[key]
if isinstance(value, tuple):
for v in value:
c,h=count_elements({0: v}, 0)
count += c# 将元组中的每个元素转化为字典中的一个键值对
element+=h
else:
count += 1
element+=[value]
for k, v in d.items():
if isinstance(v, dict):
c, h = count_elements(v, key)
count += c
element+=h
return count,element
dict1={0: (((0, ((1, 17), 24)), 20), ((12, 14), 23)), 1: ((2, 5), 28), 2: ((3, 29), 22), 3: (((4, 21), (10, 18)), (11, 27)), 4: ((((6, 15), 19), 26), ((7, (8, 9)), 25)), 5: (13, 16)}
a,b=count_elements(dict1,0)
print(a,b)
输出结果是: