字典中所有值的2个小数位格式

时间:2019-01-23 06:05:59

标签: python python-3.x

我在SO上似乎找不到很好的答案,所以这是我的问题:

我有一本字典,我在上面做了一些数学运算:

for key in categoryStore:
finalScoreStore[key] = (categoryStore[key] / totalStore[key]) * weightStore[key]

这最终给我留下了其中有大量词典的字典。我正在尝试将其降低到2位小数:

{'Exercise': 2.6624999999999996, 'Assignment': 9.333333333333334, 'Project': 13.770000000000001, 'Quiz': 18.4375, 'Exam': 29.88, 'Finals': 8.64}

我尝试用print语句执行:.2f,但出现错误,可能是因为它试图格式化键和值。因此,我不确定如何将所有值格式化为2个小数位。我认为这必须在上面的第一个代码块中或之后立即完成。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果要浮动,请将循环更改为:

for key in categoryStore:
    finalScoreStore[key] = round((categoryStore[key] / totalStore[key]) * weightStore[key], 2)

如果您想要一个字符串:

for key in categoryStore:
    finalScoreStore[key] = '{:.2f}'.format((categoryStore[key] / totalStore[key]) * weightStore[key])