gpt4 book ai didi

combinations - 数组中所有可能的索引组合,如嵌套的多个循环

转载 作者:行者123 更新时间:2023-12-04 19:06:12 27 4
gpt4 key购买 nike

有一个数组 [1, 2, ..., m] ,并且有一个整数 n .

m=2n=3 ,我想获得

[1, 1, 1]
[1, 1, 2]
[1, 2, 1]
[1, 2, 2]
[2, 1, 1]
[2, 1, 2]
[2, 2, 1]
[2, 2, 2]

就像我做的
for i=1:m
for j=1:m
for k=1:m
\\ get [i, j, k]
end
end
end

但是,两者 mn是变量。我怎样才能做到这一点?我正在使用 Julia,但任何一般性建议都可以。

最佳答案

我不清楚您所说的“我想获得”和\\ get [i, j, k] 是什么意思,但您可能会发现这很有用/有趣。

julia> using Iterators

julia> collect(product(repeated(1:2,3)...))
8-element Array{(Int32,Int32,Int32),1}:
(1,1,1)
(2,1,1)
(1,2,1)
(2,2,1)
(1,1,2)
(2,1,2)
(1,2,2)
(2,2,2)

julia> A=reshape(1:8,(2,2,2))
2x2x2 Array{Int32,3}:
[:, :, 1] =
1 3
2 4

[:, :, 2] =
5 7
6 8

julia> for i in product(repeated(1:2,3)...)
@show A[i...]
end
A[i...] => 1
A[i...] => 2
A[i...] => 3
A[i...] => 4
A[i...] => 5
A[i...] => 6
A[i...] => 7
A[i...] => 8

julia> cartesianmap((k...)->println(A[k...]^2+1),tuple(repeated(2,3)...))
2
5
10
17
26
37
50
65

甚至没有 Iterators包裹 ...
julia> cartesianmap((k...)->println(A[k...]),tuple(repmat([2],3)...))
1
2
3
4
5
6
7
8

关于combinations - 数组中所有可能的索引组合,如嵌套的多个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23898667/

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