私は、次の辞書に "販売" に該当すべての数字を合計しようとしています:ネストされた辞書を削減
{'a': {'sales': {}, 'revenue': {}}, 'b': {'sales': {}, 'revenue': {}}, 'c': {'sales': {'February2017': 6240.0, 'March2017': 8869.75, 'January2017': 15720.0}, 'revenue': {'February2017': 312.0, 'March2017': 432.4, 'January2017': 786.0}}, 'd': {'sales': {'February2017': 4184.9, 'March2017': 6181.709999999999, 'January2017': 6080.55}, 'revenue': {'February2017': 188.86, 'March2017': 292.61, 'January2017': 273.45}}}
#
出力は次のようになります。6240 + 8869.75 + 15720 + 4184.9 + 6181.7099 + 6080.55
私はキーを1つずつ順番に調べて正しい答えを得ることができますが、これを行うより効率的な方法はありますか?
total_sum = 0
for key,value in dict.items():
for key_a, value_a in value['sales'].items():
total_sum += value_a
例えば、私はreduce
のようなものを使用することによってこれを行うことができます方法はありますか?
おかげ
ありがとうございます。 –
@Blehこのソリューションは、あなたが与えたデータにハードコードされていることを知っておくべきです。あなたのデータが同じ構造を持っているなら、それは大丈夫です。しかし、それが無作為で恣意的であれば、私はあなたに私のことを見てほしい。 –
@cᴏʟᴅswhatどういう意味なのかよくわからないのは、 'sales'キーの下にある毎月の販売データのようです。再帰は、構造化されたデータセットに対して過度の過剰と思われ、OPの質問を不必要に複雑にします。 – AChampion