我有一個defaultdict將名稱映射到分數列表。我需要計算出學生的平均分數。得到一個字典中每個鍵的列表的平均值
scores = {"Aaron" : ["1" , "3" , "4"] , "Joe" : ["3" , "7" , "2"] , "Bob" : ["7" , "4" , "8"]}
我怎樣才能得到一個新的字典平均值?
averages = {"Aaron" : 2.7 , "Joe" : 4 , "Bob" : 13.7}
我有一個defaultdict將名稱映射到分數列表。我需要計算出學生的平均分數。得到一個字典中每個鍵的列表的平均值
scores = {"Aaron" : ["1" , "3" , "4"] , "Joe" : ["3" , "7" , "2"] , "Bob" : ["7" , "4" , "8"]}
我怎樣才能得到一個新的字典平均值?
averages = {"Aaron" : 2.7 , "Joe" : 4 , "Bob" : 13.7}
轉換從字符串爲float每個值,取平均值,並建立一個新的字典。
scores = {"Aaron" : ["1" , "3" , "4"] , "Joe" : ["3" , "7" , "2"] , "Bob" : ["7" , "4" , "8"]}
averages = {key: sum(float(i) for i in value)/len(value) for key, value in scores.items()}
對於Python 2,你可以通過將int(i)改爲float(i)來省略'1.0 *'嗎? – TigerhawkT3
謝謝你,davidism,你是一個救命的人:) 我得和我的計算老師談談關於defaultdict的不必要的用法,對我來說有點尷尬:/ – DibDibsTH13TEEN
[XY問題](http://xyproblem.info/)。您要求提供有關如何將解決方案組合在一起的詳細信息,而不是要求如何解決您實際嘗試解決的問題。實際上,您希望幫助創建的所有臨時數據結構都是不必要的。你真正想做的是拿一本字典並從中創建另一本字典。就這樣。 – kindall
爲什麼你不這樣回答? – DibDibsTH13TEEN
我不認爲我的評論是一個完整的答案,並不希望評估如此。這是什麼意見... – kindall