Создать вектор длины n в Юлии - PullRequest
5 голосов
/ 11 апреля 2020

Я хочу создать вектор / массив длиной n для последующего заполнения.

Как я могу это сделать? И нужно ли его уже чем-то заполнять?

1 Ответ

8 голосов
/ 11 апреля 2020

Например, если вам нужен вектор Ints длины 10, вы можете написать

v = Vector{Int}(undef, 10)

и более общий для массива Ints измерений (2, 3, 4)

a = Array{Int}(undef, (2, 3, 4))

Обратите внимание, что это заполняет Vector / Array значениями мусора, так что это может быть немного опасно. В качестве альтернативы вы можете использовать

v = Vector{Int}()
sizehint!(v, 10)
push!(v, 1) # add a one to the end of the Vector
append!(v, (2, 3, 4, 5, 6, 7, 8, 9, 10)) # add values 2 to 9 to the end of the vector

sizehint! не обязательно, но это может улучшить производительность, потому что говорит Джулии ожидать 10 значений.

Существуют и другие функции, такие как zeros, ones или fill, которые могут предоставить вектор / массив с уже заполненными данными.

...