我正在尝试使用Julia进行多维数组推导,但似乎无法正常工作。我正在使用OSX的0.20-pre夜间版本构建; 这可能是构建中的错误。然而,我怀疑这是用户的错误。
假设我想得到如下结果:
5x2 Array
1 6
2 7
3 8
4 9
5 10
我不想仅仅使用reshape
函数。从我的理解来看,应该像这样生成一个多维数组:[(x, y) for x in 1:5, y in 6:10]
。但是这将生成一个5x5的元组数组:
julia> [(x, y) for x in 1:5, y in 6:10]
5x5 Array{(Int64,Int64),2}:
(1,6) (1,7) (1,8) (1,9) (1,10)
(2,6) (2,7) (2,8) (2,9) (2,10)
(3,6) (3,7) (3,8) (3,9) (3,10)
(4,6) (4,7) (4,8) (4,9) (4,10)
(5,6) (5,7) (5,8) (5,9) (5,10)
或者,也许我想为每个值生成一组值和一个布尔代码:
5x2 Array
1 false
2 false
3 false
4 false
5 false
我似乎只能用{(x, y) for x in 1:5, y=false}
创建一个元组数组。如果我去掉x,y
周围的圆括号,我会得到ERROR:syntax:missing separator in array expression
的错误提示。无论我用什么包装x,y
,我总是得到这种输出-- Array,
Array {Any}
或Tuple
。
我猜想:这里有些东西我不太明白。是否有人愿意帮助我理解一下?
false
翻转为true
;使用元组无法实现这一点,遗憾的是。不过,使用两个单独的数组可能会非常有效!我会看看这个建议,谢谢你的建议和时间! - Gastove