gpt4 book ai didi

arrays - Julia在数组中选择最长数组的最有效方法?

转载 作者:行者123 更新时间:2023-12-04 13:25:42 26 4
gpt4 key购买 nike

我有一个数组A的数组,它是整数的N-element Array{Array{Int64,1},1}。我正在尝试使用Julia查找A中的最大数组。

例如:

A =  [[1, 2], [3, 4], [5, 6, 7], [1, 2, 5, 8]]

在Python中,我只想做: max(A, key=len),但是在Julia中,我不知道该怎么做。

我所做的是:
L = []
for a in A
push!(L, length(a))
end
A[findmax(L)[2]]

谢谢!

最佳答案

更新:对于v1 +,您需要将此答案中的indmax替换为argmax

编辑:注意,也值得一看@crstnbr的其他答案

考虑以下示例代码:

julia> A = [[1,2], [1,2,3,4,5,6], [1,2,3]]
3-element Array{Array{Int64,1},1}:
[1, 2]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]

julia> length(A)
3

julia> length.(A)
3-element Array{Int64,1}:
2
6
3

julia> indmax(length.(A))
2

julia> A[indmax(length.(A))]
6-element Array{Int64,1}:
1
2
3
4
5
6

第一次调用 length将获得 A中外部向量的长度,这不是我们想要的。在第二个调用中,我使用 broadcasting operator .,以便获得每个内部向量的长度。在 indmax行中,我在 length.(A)中找到最大值的索引,即最长的内部向量的索引。如果您想返回最长的内部向量,则可以使用 A行的结果索引到 indmax中。

关于arrays - Julia在数组中选择最长数组的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104390/

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