反复研究Julia中的所有可能性

反复研究Julia中的所有可能性,julia,Julia,如果我想在每一对字母上做点什么,它可以像Julia中的这样: for l1 in 'a':'z' for l2 in 'a':'z' w = l1*l2 # ... do something with w ... end end 我想将其推广到任意长度的单词,给定一个值n,指定所需的字母数。如何在Julia中最好地做到这一点?您可以使用: for ls in Iterators.product(fill('a':'z', n)...))

如果我想在每一对字母上做点什么,它可以像Julia中的这样:

for l1 in 'a':'z'
    for l2 in 'a':'z'
        w = l1*l2
        # ... do something with w ...
    end
end
我想将其推广到任意长度的单词,给定一个值
n
,指定所需的字母数。如何在Julia中最好地做到这一点?

您可以使用:

for ls in Iterators.product(fill('a':'z', n)...))
    w = join(ls)
    # ... do something with w ...
end
特别是,如果要在阵列中收集它们,可以编写:

join.(Iterators.product(fill('a':'z', n)...))
或者将其展平为向量

vec(join.(Iterators.product(fill('a':'z', n)...)))
但是,请注意,在大多数情况下,这是不需要的,对于较大的
n
,最好不要具体化输出,而只是按照上面的建议对其进行迭代