给定此数据:
data = ["red", "blue", "green"]
counts = [2000, 2000, 1]
为什么我可以进行
[fill("red", 2000)..., fill("blue", 2000)..., fill("green", 1)...]
但不是
[fill(data[i], counts[i])... for i in 1:3]
syntax: "..." expression outside call around
p.s.
我知道这是可能的,只是感觉不太优雅:
cat([fill(data[i], counts[i]) for i in 1:3]..., dims=1)
由于错误消息说...
只允许在函数调用中使用,请参阅https://docs.julialang.org/en/v1/manual/faq/#...-在函数调用中将一个参数拆分为多个不同的参数。
但是,请注意,您可以这样做,例如:
reduce(vcat, fill(data[i], counts[i]) for i in 1:3)
(这不必要地分配fill
,但写入时间相对较短(