【问题标题】:Python - Sum values in nested dictPython - 嵌套字典中的总和值
【发布时间】:2017-11-29 20:45:52
【问题描述】:

我有一个嵌套字典,如下所示。

inv = {'jan':[10,20],'Feb':[33,40,50],'mar':[20,56],'apr':[20,21,30]}
    for value in inv.items():
print(sum(inv.values()))

我希望将值的总和作为总计返回。

总数应该是300

【问题讨论】:

  • 所以分解问题。您知道如何汇总单个值列表吗?你知道如何遍历所有值吗?
  • 真的很简单有一点循环。你有没有自己尝试过,有没有卡在任何地方?
  • 我能够得到单个值列表的总和 inv = {'jan':[10,20],'Feb':[33,40,50],'mar':[ 20,56],'apr':[20,21,30]} for key, inv.items() 中的值: print(key, sum(value))
  • 那么您将如何将所有这些单独的总和相加?

标签: python python-3.x dictionary


【解决方案1】:

你可以在你的字典里得到一个键的列表

keys = list(inv.keys())

您可以使用该列表然后循环遍历键以获取它们的值并循环这些列表以获取总和。

total = 0
for key in keys:
    for val in inv[key]:
        total += val
print(total)

300

【讨论】:

    【解决方案2】:

    根据值创建列表列表。然后对列表列表求和

    inv = {'jan':[10,20],'Feb':[33,40,50],'mar':[20,56],'apr':[20,21,30]}
        sumList = []
        for key in inv:
            sumList.append(inv[key])
    
        print sum(sum(x) for x in sumList)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 2021-05-18
      • 2021-02-05
      • 2013-08-04
      • 2019-06-13
      • 1970-01-01
      相关资源
      最近更新 更多