返回字典Python中所有值的总和

时间:2012-10-02 03:48:39

标签: python dictionary count sum

需要帮助制作函数sumcounts(D),其中D是一个以数字作为值的字典,返回所有值的总和。示例输出应如下所示:

>>> sumcounts({"a":2.5, "b":7.5, "c":100})
110.0
>>> sumcounts({ })
0
>>> sumcounts(strcount("a a a b"))
4

3 个答案:

答案 0 :(得分:8)

它已经存在:

sum(d.values())

或许那样:

def sumcount(d):
    return sum(d.values())

答案 1 :(得分:3)

我不确定你所学的字典是什么,所以我会假设最低限度。

  1. 创建total变量并将其设置为0
  2. 使用正常的for x in y语法迭代字典中的所有键。
  3. 对于每个密钥,使用your_dict[key_name]从字典中获取其各自的值。
  4. 将该值添加到total
  5. 在作业中获得A。
  6. Michael已经发布了常规的Pythonic解决方案。

答案 2 :(得分:1)

迈克尔上面给出的答案就是现场!

我想建议,如果你打算使用大型数据集来查看最优秀的Pandas Python框架。(也许你的问题有点过分但值得一看)

它接受字典并将其转换为数据集,例如

 yourdict = {"a":2.5, "b":7.5, "c":100}
 dataframe = pandas.Series(yourdict)

你现在有一个非常强大的数据框,你可以真正做很多很好的事情,包括得到总和

sum = dateframe.sum()

你也可以轻松地绘制它,将其保存为excel,CSV,获得均值,标准偏差等......

   dateframe.plot()      # plots is in matplotlib
   dateframe.mean()      # gets the mean
   dateframe.std()       # gets the standard deviation
   dataframe.to_csv('name.csv') # writes to csv file

我真的可以推荐熊猫。它改变了我使用Python进行数据业务的方式......顺便说一句,它与R数据框架相比较。