0
假設我們有一本字典:誤差計算的字典平均時
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
有什麼建議嗎?
假設我們有一本字典:誤差計算的字典平均時
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)
演示:
>>> mapping = {1: 22.5, 8: 13.4, 10: 12.1}
>>> sum(mapping.values())/len(mapping)
16.0
'總和(dict.values())/ LEN(字典)'。並儘量避免內置函數/類型的陰影。 – vaultah