я могу сделать два уровня вложенного цикл, как этогоКак сделать произвольный уровень вложенного для цикла
for i1 in 1:n
for i2 in 1:n
do something with (i1,i2)
Как продлить это в произвольный уровень вложенного цикла?
Например, я могу сделать это в Python в цикле декартово произведение п^т
for i in (itertools.product(xrange(n),repeat=m)):
Как
for i in (itertools.product(xrange(2),repeat=3)):
print i
(0, 0, 0)
(0, 0, 1)
(0, 1, 0)
(0, 1, 1)
(1, 0, 0)
(1, 0, 1)
(1, 1, 0)
(1, 1, 1)
Спасибо за @ Толи свой комментарий. Я успешно применил Iterators.jl. Я новичок Джулии, поэтому мой код может быть неуклюжим.
for i in product(repmat(Any[1:2],3)...)
println(i)
end
(1,1,1)
(2,1,1)
(1,2,1)
(2,2,1)
(1,1,2)
(2,1,2)
(1,2,2)
(2,2,2)
Спасибо. Я добавил пример Python, надеюсь, сделать его более понятным. –