julia数组常用操作
2021-05-30 本文已影响0人
mudssky
julia中的array表示的是是n维数组,它的类型定义是Array{T,N}(undef, dims)
,
而Vector表示的是一维数组,所以我们可以用Vector{Type}(undef,n)
初始化一维数组为n个undef。
julia中没有面向对象,他的函数都是一个个独立的,算是很难用的一个设计了,
虽然貌似你也可以用结构体绑定方法。
但是官方标准库里面就没有这么做。它的函数都是全局的,导致你只能一个个查,如果是面向对象的话,你.
一下自动补全就会告诉你array有哪些方法了。
这算是比较难用的地方了,所以说只有进行科学计算的时候用用还行。
声明数组 | arr = Float64[] |
---|---|
预分配内存 | sizehint!(arr, 10^4) |
访问与赋值 |
arr = Any[1,2] arr[1] = "Some text"
|
数组比较 |
a = [1:10;] b = a # b 指向 a a[1] = -99 a == b # true
|
复制元素(而不是地址)/深拷贝 |
b = copy(a) b = deepcopy(a)
|
从 m 到 n 的子数组 | arr[m:n] |
n 个 0.0 填充的数组 | zeros(n) |
n 个 1.0 填充的数组 | ones(n) |
n 个 #undef 填充的数组 | Vector{Type}(undef,n) |
n 个从 start 到 stop 的等间距数 | range(start,stop=stop,length=n) |
n 个随机 Int8 填充的数组 | rand(Int8, n) |
创建有n个重复元素的数组 | repeat(arr,n) |
用值 val 填充数组 | fill!(arr, val) |
弹出最后一个元素 | pop!(arr) |
弹出第一个元素 | popfirst!(a) |
将值 val 作为最后一个元素压入数组 | push!(arr, val) |
将值 val 作为第一个元素压入数组 | pushfirst!(arr, val) |
删除指定索引值的元素 | deleteat!(arr, idx) |
数组排序 | sort!(arr) |
将 b 连接到 a 后 | append!(a,b) |
检查值 val 是否在数组 arr 中 |
in(val, arr) 或 val in arr
|
改变维数 | reshape(1:6, 3, 2)' == [1 2 3; 4 5 6] |
转化为字符串,并以 delim 分隔 | join(arr, delim) |