对不起愚蠢的简单问题,朱莉娅的新手:
我想这样初始化数组:
folds = [[], [], [], [], [], [], [], []]
,但不是手动。
在python中,我只是写
folds = [[]] * 8
,但这与朱莉娅(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中类似。