空数组的 Julia 数组
Julia array of empty arrays
抱歉愚蠢的简单问题,Julia 的新手:
我想像这样初始化数组:
folds = [[], [], [], [], [], [], [], []]
,但不是手动。
在Python我就写
folds = [[]] * 8
,但这不适用于 Julia。
Julia 怎么可能做到这一点?我尝试了几次,但现在成功了。
能不能也解释一下解决办法。
谢谢。
一种方法是列表理解(尽管这当然不像 Python 那样简洁):
[[] for i=1:8]
Julia 中 folds = [[]] * 8
的等价物(这可能不是您想要的!)是
folds = fill([], 8)
查看
的结果
push!(folds[1], 1)
8-element Array{Array{Any,1},1}:
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
和
folds[1].append(1)
# [[1], [1], [1], [1], [1], [1], [1], [1]]
另一方面,像 [[] for i = 1:8]
这样的理解将在 Julia 中创建独立的数组,在 python 中类似。
抱歉愚蠢的简单问题,Julia 的新手:
我想像这样初始化数组:
folds = [[], [], [], [], [], [], [], []]
,但不是手动。
在Python我就写
folds = [[]] * 8
,但这不适用于 Julia。
Julia 怎么可能做到这一点?我尝试了几次,但现在成功了。 能不能也解释一下解决办法。
谢谢。
一种方法是列表理解(尽管这当然不像 Python 那样简洁):
[[] for i=1:8]
Julia 中 folds = [[]] * 8
的等价物(这可能不是您想要的!)是
folds = fill([], 8)
查看
的结果push!(folds[1], 1)
8-element Array{Array{Any,1},1}:
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
Any[1]
和
folds[1].append(1)
# [[1], [1], [1], [1], [1], [1], [1], [1]]
另一方面,像 [[] for i = 1:8]
这样的理解将在 Julia 中创建独立的数组,在 python 中类似。