gpt4 book ai didi

julia - Julia 中向量的唯一元素的索引

转载 作者:行者123 更新时间:2023-12-01 08:03:35 24 4
gpt4 key购买 nike

如何获取向量的唯一元素的索引?

例如,如果您有一个向量 v = [1,2,1,3,5,3] , 唯一元素是 [1,2,3,5] ( unique 的输出),它们的索引是 ind = [1,2,4,5] .什么函数允许我计算 ind以便 v[ind] = unique(v) ?

最佳答案

这是 Julia 0.7 的解决方案:

findfirst.(isequal.(unique(x)), [x])

或在 Julia 0.6.3 和 Julia 0.7 下类似的工作:
findfirst.(map(a -> (y -> isequal(a, y)), unique(x)), [x])

和一个较短的版本(但它不会在 Julia 0.7 下工作):
findfirst.([x], unique(x))

它可能不是最快的。

如果你需要速度,你可以写一些类似的东西(应该在 Julia 0.7 和 0.6.3 下都可以工作):
function uniqueidx(x::AbstractArray{T}) where T
uniqueset = Set{T}()
ex = eachindex(x)
idxs = Vector{eltype(ex)}()
for i in ex
xi = x[i]
if !(xi in uniqueset)
push!(idxs, i)
push!(uniqueset, xi)
end
end
idxs
end

关于julia - Julia 中向量的唯一元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50899973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com