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

Jul*_*en 6 arrays julia

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

array = zeros(10)

for i in 1:10
   array[i] = 2*i + 1
end
Run Code Online (Sandbox Code Playgroud)

数组看起来像这样:

10-element Array{Float64,1}:
  3.0
  5.0
  7.0
  9.0
 11.0
 13.0
 15.0
 17.0
 19.0
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

怎么做?

Ale*_*ley 12

它看起来像你想要使用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
Run Code Online (Sandbox Code Playgroud)

(NB在Julia 0.6及更早版本中pushfirst!被命名 unshift!.)

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

有关修改集合的更多有用功能,请参阅文档的Deques部分.

  • `unshift!`已经在Julia-v0.7 +上重命名为`pushfirst!` (2认同)