重现Julia中R的`expand.grid`函数

Rem*_*i.b 5 combinations r julia

expand.grid是一个非常方便的功能,R用于计算几个列表的所有可能组合.下面是它的工作原理:

> x = c(1,2,3)
> y = c("a","b")
> z = c(10,12)
> d = expand.grid(x,y,z)
> d
   Var1 Var2 Var3
1     1    a   10
2     2    a   10
3     3    a   10
4     1    b   10
5     2    b   10
6     3    b   10
7     1    a   12
8     2    a   12
9     3    a   12
10    1    b   12
11    2    b   12
12    3    b   12
Run Code Online (Sandbox Code Playgroud)

如何在Julia中重现此功能?

Rem*_*i.b 5

感谢@Henrik 的评论:

x = [1,2,3]
y = ["a","b"]
z = [10,12]
d = collect(Iterators.product(x,y,z))
Run Code Online (Sandbox Code Playgroud)

这是使用列表理解的另一个解决方案

reshape([ [x,y,z]  for x=x, y=y, z=z ],length(x)*length(y)*length(z))
Run Code Online (Sandbox Code Playgroud)