学习笔记,仅供参考,有错必纠

参考自:Julia数据科学应用–Zacharias Voulgaris

使用Julia-1.1.1



文章目录




数组



构造数组



数组是Julia中的基础数据类型,我们可以处理任意类型数据的集合,它与其他语言(比如R或者Python)一样数组的索引位于方括号内:

julia> p = [1, 234567889, 0.123, true, "Hello", 'a'];

julia> p[1]
1

julia> p[end]
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)

值得一提的是,如果我们想访问最后一个元素,可以用end来实现。



初始化一个数组



  • 语法
Array{T}(undef, dims)
Array{T,N}(undef, dims)

构造一个未初始化的包含T类型元素的N维数组。N可以显式地提供,如数组{T,N}(undef, dims),也可以由dims的长度或数量决定。dims可以是一个元组,也可以是一组与每个维度中的长度对应的整型参数。如果显式地提供了N,那么它必须匹配dim的长度或数量。



  • 例子

初始化一个3行4列数组,并在其中保存Int64类型的数据:

julia> z = Array{Int64, 2}(undef, 3, 4)
3××4 Array{Int64,2}:
223285120 223317616 74795312 223286336
223285440 223285824 223286144 223286912
223285504 223285888 223354400 223287040



初始化一个2行3列的数组,并在其中保存任意类型的数据:

julia> q = Array{Any, 2}(undef, 2, 3)
2××3 Array{Any,2}:
#undef #undef #undef
#undef #undef #undef



数组切片



julia> p[1:3]
3-element Array{Any,1}:
1
234567889
0.123

julia> p[(end-1):end]
2-element Array{Any,1}:
"Hello"
'a'

julia> p[[1,3]]
2-element Array{Any,1}:
1
0.123



多维数组



构造并填充数组:

julia> z = Array{Int64, 2}(undef, 3, 4)
3××4 Array{Int64,2}:
230623440 255072944 0 0
74970384 230624112 0 0
230623440 230621760 0 0

julia> z[:] = 1:12;

julia> z
3××4 Array{Int64,2}:
1 4 7 10
2 5 8 11
3 6 9 12

取出元素:

julia> z[2, 3]
8

julia> z[2, :]
4-element Array{Int64,1}:
2
5
8
11

julia> z[2, 1:end]
4-element Array{Int64,1}:
2
5
8
11

julia> z[:]
12-element Array{Int64,1}:
1
2
3
4
5
6
7
8
9
10
11
12