Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fill an array with a given value (not object reference)?

Tags:

arrays

julia

As a followup to this question, how can you create an array filled with copies rather than references in Julia?

To use an example, how to create a function like fill that behaves like a when modifying elements of the array?

julia> a = [[],[]]
2-element Array{Array{Any,1},1}:
 Any[]
 Any[]

julia> push!(a[1],1.0)
1-element Array{Any,1}:
 1.0

julia> a
2-element Array{Array{Any,1},1}:
 Any[1.0]
 Any[]

julia> b = fill([],2)
2-element Array{Array{Any,1},1}:
 Any[]
 Any[]

julia> push!(b[1],1.0)
1-element Array{Any,1}:
 1.0

julia> b
2-element Array{Array{Any,1},1}:
 Any[1.0]
 Any[1.0]
like image 378
Alec Avatar asked Oct 28 '25 09:10

Alec


1 Answers

Comprehension, could help:

julia> a=[[] for i=1:4]
4-element Array{Array{Any,1},1}:
 Any[]
 Any[]
 Any[]
 Any[]

julia> push!(a[1],1)
1-element Array{Any,1}:
 1

julia> a
4-element Array{Array{Any,1},1}:
 Any[1]
 Any[]
 Any[]
 Any[]
like image 125
Reza Afzalan Avatar answered Oct 31 '25 00:10

Reza Afzalan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!