Julia - 增加数组的大小,在开头插入一个值

时间:2018-05-07 11:24:33

标签: arrays julia

我有一个填充了一些值的数组。例如,运行以下代码后:

array = zeros(10)

for i in 1:10
   array[i] = 2*i + 1
end

数组看起来像这样:

10-element Array{Float64,1}:
  3.0
  5.0
  7.0
  9.0
 11.0
 13.0
 15.0
 17.0
 19.0

现在,我想在第一个位置添加一个新值来获得这样的东西:

11-element Array{Float64,1}:
  1.0
  3.0
  5.0
  7.0
  9.0
 11.0
 13.0
 15.0
 17.0
 19.0

怎么做?

1 个答案:

答案 0 :(得分:11)

看起来您想使用pushfirst!。此函数通过在开头插入新值来修改数组:

julia> pushfirst!(array, 1)
11-element Array{Float64,1}:
  1.0
  3.0
  5.0
  7.0
  9.0
 11.0
 13.0
 15.0
 17.0
 19.0
 21.0

(N.B。在Julia 0.6及更早版本中,pushfirst!被命名为unshift!。)

您可能也对insert!感兴趣,push!通过在特定索引处插入值来增长集合,Deques将一个或多个值添加到集合的末尾。

有关修改集合的更多有用功能,请参阅文档的{{3}}部分。