我编写了以下代码来计算每个嵌入式字典中值的总和,对于每个嵌入式字典,我还想保留与这些值对应的键。正如您在下面看到的,例如,我想知道 20+30+40 = 90 但我还想保留键:loan1、loan2、loan3 并知道它们的值分别是 20、30、40 所以我可以创建一个新字典。
我已经写了三个 for 循环,我认为它可以更简洁地完成。此外,我已经运行了几次,而打印嵌入式字典值的 for 循环和记录嵌入式字典键的 for 循环每次都以相同的顺序迭代,我不确定我是什么有书面保证。
mydict = {'k1':{'loan1':20,'loan2':30, 'loan3':40},'k2':{'loan1':90,'loan2':65, 'loan3':75}}
for k in mydict.keys():
the_sum = 0
for c in mydict[k].itervalues():
the_sum += c
print k, c, the_sum
for k2 in mydict[k].iterkeys():
print k2
k2 75 75
k2 65 140
k2 90 230
loan3
loan2
loan1
k1 40 40
k1 30 70
k1 20 90
loan3
loan2
loan1