一维数组
一维数组通常称为Vector
julia> a=[1,2,3] # 生成一个数组,其中的元素可以用undef表示不初始化
3-element Vector{Int64}:
1
2
3
julia> a[1] # 通过下标访问
1
julia> a[1:2] # 通过范围访问
2-element Vector{Int64}:
1
2
julia> a[1]=3 # 通过下标修改
3
julia> length(a) # 查看长度
3
julia> a=[0]
1-element Vector{Int64}:
0
julia> push!(a,1) # 在末尾添加
2-element Vector{Int64}:
0
1
julia> last(a) # 查看末尾
1
julia> pop!(a) # 去除末尾
1
julia> a
1-element Vector{Int64}:
0
julia> pushfirst!(a,-1) # 在开头添加
2-element Vector{Int64}:
-1
0
julia> first(a) # 查看开头
-1
julia> popfirst!(a) # 去除开头
-1
julia> a
1-element Vector{Int64}:
0
julia> a=[1,2,3]
3-element Vector{Int64}:
1
2
3
julia> fill!(a,0) # 将a中元素填满0
3-element Vector{Int64}:
0
0
0
其它数组生成方式:
julia> zeros(Int,5) # 生成5个整型的0
5-element Vector{Int64}:
0
0
0
0
0
julia> ones(Int,5) # 生成5个整型的1
5-element Vector{Int64}:
1
1
1
1
1
julia> collect(1:4) # 上一章所述类型均可以用collect转化为一维数组
4-element Vector{Int64}:
1
2
3
4
julia> collect("猫"=>0)
2-element Vector{Union{Int64, String}}:
"猫"
0
多维数组
数组称为Array
julia> Vector # 一维数组是数组的特例
Vector{T} where T (alias for Array{T, 1} where T)
julia> Array{Int,3}(undef,2,2,2) # 生成一个未初始化的2x2x2数组
2×2×2 Array{Int64, 3}:
[:, :, 1] =
272741312 284121296
272741312 284121296
[:, :, 2] =
272755984 287668496
272755984 426754624
julia> v=[1 2 3;4 5 6;7 8 9] # 快速生成二维数组
3×3 Matrix{Int64}:
1 2 3
4 5 6
7 8 9
julia> Matrix # 二维数组是数组的特例
Matrix{T} where T (alias for Array{T, 2} where T)
julia> v[3,2] # 通过下标访问
8
julia> v[2:3,2:3] # 通过范围访问
2×2 Matrix{Int64}:
5 6
8 9
julia> v[1,1]=0 # 通过下标修改
0
注意:数组的数组与多维数组是不同的