Python 计算字典上的平均值时出错

Python 计算字典上的平均值时出错,python,dictionary,iterable,Python,Dictionary,Iterable,假设我们有一本字典: mapping = {1: 22.5, 8: 13.4, 10: 12.1} 然后,为了计算平均值,我使用以下公式: [(sum(v) / len(v)) for k, v in mapping.items()] 我得到了一个错误: TypeError: 'float' object is not iterable 有什么建议吗?您正在尝试计算一个值的总和: [(sum(v) / len(v)) for k, v in mapping.items()] v是字典中的

假设我们有一本字典:

mapping = {1: 22.5, 8: 13.4, 10: 12.1}
然后,为了计算平均值,我使用以下公式:

[(sum(v) / len(v)) for k, v in mapping.items()]
我得到了一个错误:

TypeError: 'float' object is not iterable

有什么建议吗?

您正在尝试计算一个值的总和:

[(sum(v) / len(v)) for k, v in mapping.items()]
v
是字典中的单个
float
对象。它没有长度,不能求和

您希望对所有值求和,并在此处计算字典的长度:

sum(mapping.values()) / len(mapping)
演示:


您正在尝试计算1值的总和:

[(sum(v) / len(v)) for k, v in mapping.items()]
v
是字典中的单个
float
对象。它没有长度,不能求和

您希望对所有值求和,并在此处计算字典的长度:

sum(mapping.values()) / len(mapping)
演示:

sum(dict.values())/len(dict)
。并尽量避免隐藏内置函数/类型。
sum(dict.values())/len(dict)
。并尽量避免隐藏内置函数/类型。