元组
一个元组是一个固定长度的容器,可以容纳任何值,但不可以被修改。 元组通过圆括号和逗号来构造,其内容可以通过索引来访问。
Note. 长度为1的元组必须使用逗号 (1,),而 (1) 只是一个带括号的值。() 表示空元组(长度为0)。
具名元组
julia> x = (a=2, b=1+2)
(a = 2, b = 3)
julia> x[1]
2
julia> x.a
2
字典
初始化:d = Dict(key1 => val1, key2 => val2, …)
d = Dict(Array{Pair})
d = Dict(Array{Tuple}) (1位置为key,2位置为val,后面忽略)
d = Dict(zip(keys, vals))
索引:d[key] / get(dict, key, defaultValue)
添加:d[key] = val
遍历:
for (k, v) in d:
…
end
集合
初始化:s = Set(…)
s = Set(begin:stepsize:end)
判断元素是否属于集合:element in s --> true / false
交集/并集:intersect(A, B) union(A, B)
矩阵
初始化:[<类型>][ elements ]
其他collection转Array:collect()
步进数组生成:collect(begin:stepsize:end)
julia> c = collect(1:4:10)
4-element Vector{Int64}:
1
4
7
10
julia> c1 = c # 浅拷贝
julia> c2 = c[:] # 深拷贝
矩阵拼接
julia> x = ones(2, 3)
2×3 Matrix{Float64}:
1.0 1.0 1.0
1.0 1.0 1.0
julia> y = zeros(2, 3)
2×3 Matrix{Float64}:
0.0 0.0 0.0
0.0 0.0 0.0
julia> [x y] # hcat(x, y)
2×6 Matrix{Float64}:
1.0 1.0 1.0 0.0 0.0 0.0
1.0 1.0 1.0 0.0 0.0 0.0
julia> [x; y] # vcat(x, y)
4×3 Matrix{Float64}:
1.0 1.0 1.0
1.0 1.0 1.0
0.0 0.0 0.0
0.0 0.0 0.0
julia> [x, y]
2-element Vector{Matrix{Float64}}:
[1.0 1.0 1.0; 1.0 1.0 1.0]
[0.0 0.0 0.0; 0.0 0.0 0.0]
矩阵属性
维度:size()
元素个数:length()
求和:sum()
矩阵计算
每个二元运算符都有一个 dot 运算符与之对应,例如 ^ 就有对应的 .^ 存在。这个对应的 .^ 被 Julia 自动地定义为逐元素地执行 ^ 运算。
矩阵增删改
push!(arr, element(s) ) # array only
pop!(arr) # array only
prepend!(a, arr)
reshape(arr, x, y)
circshift()
随机数
rand( type=Float64, dim(s) )