有沒有一種巧妙的方式來重寫這個Julia函數,也許只需要使用1行代碼,而不會太慢? (我剛開始使用Julia,太棒了!)K
是一個正整數,zd
是一個不大於K
的正整數向量。謝謝!在1行代碼中計算矢量中每個唯一整數的實例?
function tally(zd)
ret = zeros(Int64, K)
for k in zd
ret[k] += 1
end
return ret
end
實施例:
julia> K = 5
julia> zd = [1,2,2,2,2,3];
julia> tally(zd)
5-element Array{Float64,1}:
1
4
1
0
0
這看起來很漂亮。 –
我想我已經考慮過使用'reduce'或'fold'之類的1行解決方案,並且我也只是對其他方法感到好奇,但是您說得對,這可能足夠好。我喜歡下面的建議來使用'hist'。我想我會這樣做。感謝所有的反饋! – Jeff