需要帮助制作函数sumcounts(D),其中D是一个以数字作为值的字典,返回所有值的总和。示例输出应如下所示:
>>> sumcounts({"a":2.5, "b":7.5, "c":100})
110.0
>>> sumcounts({ })
0
>>> sumcounts(strcount("a a a b"))
4
答案 0 :(得分:8)
它已经存在:
sum(d.values())
或许那样:
def sumcount(d):
return sum(d.values())
答案 1 :(得分:3)
我不确定你所学的字典是什么,所以我会假设最低限度。
total
变量并将其设置为0
。for x in y
语法迭代字典中的所有键。your_dict[key_name]
从字典中获取其各自的值。total
。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数据框架相比较。