学习笔记,仅供参考,有错必纠
参考自: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