julia学习笔记(二):Collections与矩阵

元组

一个元组是一个固定长度的容器,可以容纳任何值,但不可以被修改。 元组通过圆括号和逗号来构造,其内容可以通过索引来访问。

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) )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值