各埋め込みディクショナリの値の合計を計算する次のコードを記述しました。各埋め込みディクショナリについて、それらの値に対応するキーも保持したいと考えています。たとえば、以下に示すように、20+30+40 = 90 であることを知りたいのですが、loan1、loan2、loan3 というキーも保持し、それらの値がそれぞれ 20、30、40 であることを知りたいので、新しい辞書を作成できること。
私はこれを 3 つの 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