我有一張地圖,代表成績冊,其中關鍵是成績,而數值是達到該成績的學生人數。根據斯卡拉地圖中的值計算平均值
我的地圖看起來是這樣的:
grades = Map("1" -> 0, "2" -> 0, "3" -> 0, "4" -> 0, "5" -> 0)
然後我讀值從學生與他們的成績的列表中的鍵,其值填充0。
我現在要做的是計算平均品位:
val avg = grades.foreach{case (k,v) => k * v}/grades.foldLeft(0)(_+_._2)
但問題是,
grades.foreach{case (k,v) => k * v}
只返回()
。
'grades.foldLeft(0)(_ + _._ 2)' - >'grades.values.sum' –