我是新去的,我做了以下內容:如何計算非零值的加權平均值?
我有一個片:
valueList := []int16{500, 400, 0, 300}
和重量片:
weightList := []float64{0.1, 0.2, 0.3, 0.4}
現在,我想這樣做:
res := make([]float64, 4)
for i, value := range valueList {
res[i] = float64(value) * weightList[i]
}
但正如你所看到的,我得到一個0
在valueList
,現在我要重均別人如果值不爲0
,所以在這個例子中,它應該是:
500 * (0.1 + 0.3/3) + 400 * (0.2 + 0.3/3) + 300 * (0.4 + 0.3/3)
如果另一個0
顯示出來,再平均重量。
我該如何做到這一點?
你不能在'[] int16'切片或數組中有'nil'值。這是編譯時錯誤。在發佈問題之前,你應該真的嘗試你的示例代碼。 – icza
@icza ....,我怎麼能有類似的事情?我是golang的新手 – roger