【发布时间】:2020-07-17 01:41:54
【问题描述】:
Julia(或一些惯用的替代品)是否有 minimumby 函数?也就是说,我想要这样的东西:
julia> minimumby(length, ["Julion", "Julia", "Jule"])
"Jule"
【问题讨论】:
标签: julia
Julia(或一些惯用的替代品)是否有 minimumby 函数?也就是说,我想要这样的东西:
julia> minimumby(length, ["Julion", "Julia", "Jule"])
"Jule"
【问题讨论】:
标签: julia
我想出了以下内容,这似乎可以满足我的要求。不确定它有多优化。
function minimumby(keyf, a)
keymap = item -> (keyf(item), item)
keymin = (x, y) -> if y[1] < x[1] y else x end
mapreduce(keymap, keymin, a)[2]
end
【讨论】:
不,很遗憾没有。这已被要求多年,但没有人能够实施。
【讨论】:
我能做的最好的就是:
julia> reduce((a, b) -> length(a) < length(b) ? a : b, ["Julion", "Julia", "Jule"])
"Jule"
【讨论】: