探索Julia(part7)--数组与字典函数

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

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

使用Julia-1.1.1



数组与字典函数


in

语法:

in(item, collection) -> Bool

输入:

x = [1, 234, "red"]
println(234 in x)
println(567 in x)
println(in("red", x))

输出:

true
false
true

append!

语法:

append!(collection, collection2) -> collection.

对于有序容器集合,将collection2的元素添加到它的末尾。


输入:

A = [1, 2, 3];
B = [9, 8, 7];
C = [1];
append!(A, B)
println(A)
append!(C, [2, 3])
println(C)

输出:

[1, 2, 3, 9, 8, 7]
[1, 2, 3]

pop!


语法:

pop!(collection, key[, default])

如果key存在于collection中,则删除并返回该映射,否则返回默认值,或如果未指定默认值,则抛出错误。


输入:

Z = Dict("a"=>1, "b"=>2, "c"=>3)
println(pop!(Z, "a", -1))
println(Z)
println(pop!( Z, "r", -1))

输出:

1
Dict("c"=>3,"b"=>2)
-1

push!


语法:

push!(collection, items...) -> collection

在collection中插入一个或多个项。如果collection是一个有序容器,则在末尾插入项目(按照给定的顺序)。

输入:

X = [1,2,3]
println(X)

输出:

[1, 2, 3]

splice!


语法:

splice!(a::Vector, index::Integer, [replacement]) -> item

splice!()是pop!()函数的扩展:它不只可以取出集合中的最后一个元素,它可以取出你需要的任何一个元素。需要取出的元素由变量index(一个整数)来指定。当这个函数应用于集合a(一般是一个数组,也可以是一个字典,或任意其他类型的集合)时,会自动从集合中删除取出的元素。

如果想保持a的长度不变,我们可以在删除索引的位置放入一个替换值,这时就需要使用第三个参数replacement,它完全是可选的。

输入:

A = [6, 5, 4, 3, 2, 1]; 
splice!(A, 5, 0)
println(A)

输出:

[6, 5, 4, 3, 0, 1]

insert!


语法:

insert!(a::Vector, index::Integer, item)

这个函数与splice!()很相似,在语法上完全相同,区别是当它应用于一个集合时,不会从集合中删除任何内容,它也没有任何可选的参数。与函数名称的意义一样,它向给定的集
合a中索引值为index的位置插入一个值。

输入:

insert!([6, 5, 4, 2, 1], 4, 3)

输出:

6-element Array{Int64,1}:
 6
 5
 4
 3
 2
 1

sort与sort!


sort语法:

sort(A; dims::Integer, alg::Algorithm=DEFAULT_UNSTABLE, lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)

A是一个数组,dim表示在哪个维度上进行排序(如果A是多维数组),rev是个布尔型的参数,表示是否按逆序进行排序(默认值是"false",表示从小到大的顺序进行排序、

这个函数用处很大,特别是在处理仅包括字母和数字的数据的时候。与函数名称的意义一样,也与其他语言中的同名函数一样,sort()函数接受一个数组,然后使用某种排序方法对数组中的数据进行排序(缺省时,使用快速排序法对数值型数组排序,使用合并排序法对其他类型的数组排序)。


sort!语法:

sort!(A; dims::Integer, alg::Algorithm=defalg(A), lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)

使用sort!排序可以完成和sort一样的功能,但是会用排好的数组替代原来的数组。


输入:

v = [3, 1, 2]; sort!(v, rev = true); println(v);
d = [2, 5, 3]; println(sort(d));println(d);

输出:

[3, 2, 1]
[2, 3, 5]
[2, 5, 3]

get


语法:

get(collection, key, default)

collection是想从中取值的字典名称,key是查询所用的键,default是当字典中不存在该键时函数返回的缺省值(防止产生错误信息),它是可选的。


输入:

d = Dict("a"=>1, "b"=>2);
println(get(d, "b", -1))
println(get(d, "h", -1))

输出:

2
-1

keys和values


可以使用keys()函数和values() 函数分别得到字典中的所有的键和值。


输入:

d = Dict("a"=>1, "b"=>2);
println(keys(d));
println(values(d));

输出:

["b", "a"]
[2, 1]

length与size


输入:

A = [1,2,3,4,5,6]
B = rand(3, 4)
C = "Are you ok?"
println(length(A));
println(size(B))
println(length(C));

输出:

6
(3, 4)
11

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/107383998