定制型网站建设服务器,物流网站建设合同范本,怎样安装微信小程序,龙岗网红公园文章目录 元组字典集合共性 Julia系列#xff1a;编程初步#x1f525;数组
作为通用编程语言#xff0c;除了数组之外#xff0c;julia实现了元组、字典、集合等数据结构。
元组
与向量类似#xff0c;也是一维的数据结构#xff0c;并且对数据类型无要求#xff0c… 文章目录 元组字典集合共性 Julia系列编程初步数组
作为通用编程语言除了数组之外julia实现了元组、字典、集合等数据结构。
元组
与向量类似也是一维的数据结构并且对数据类型无要求从创建流程来说向量用方括号创建元组用圆括号创建并且支持索引下标从1开始
x (1, a) # (1, a)
x[1] # 1
x[2] # a
x[1]1 # 报错除了普通的元组之外Julia还支持带有键的元组
y (; namemicro, age7) # (name micro, age 7)带键元组支持两种索引方式一种是符号索引一种是点索引前者更像是字典后者更像是类
y[:name] # micro
y.age # 7无论是普通元组还是带有名字的元组其内部元素都是固定的不支持修改这是元组与向量以及字典的区别。
字典
字典就是键值对结构通过键来索引值并且内部元素可动态修改
d Dict(namemicro, age7)
d[name] # micro
d[age] 8 #8
println(d)
# Dict{String, Any}(name micro, age 8)初学者容易忘记调用Dict而写为如下形式
ps (namemicro, age7)这个ps其实是一个元组而其中的元素xxyy则是一个Pair。
ps[1] # name micro
typeof(ps[1]) # Pair{String, String}Pair支持方括号索引也可以通过first和last来获取元素
ps[1][1] # name
last(ps[1]) # micro集合
Julia中的集合和数学上的集合有个相似的性质即没有重复元素可通过函数Set生成
Set(x) # Set{Any} with 2 elements: a 1
Set(y) # Set{Any} with 2 elements: 7 micro
Set([1,2,3,3])
# Set{Int64} with 3 elements:231
#Julia中为集合提供了计算函数以及运算符
功能函数形式运算符形式并集union(A, B)A ∪ B交集intersect(A, B)A ∩ B差集setdiff(A, B)A \ B对称差集symdiff(A, B)(A∖B)∪(B∖A)判断相等issetequal(A, B)判断子集issubset(A, B)A ⊆ B
在Julia命令行中这些特殊符号可通过\xxx然后按下tab键打出语法与markdown相同
∪\cup∩\cap⊆\subseteq⊈\nsubseteq⊇\supseteq⊉\nsupseteq∈\in∋\ni∉\notin∌\nni
下面做一个简单的测试
A Set([1,2,3,4,5])
B Set([2,3,4])
A ∪ B # 5 4 3 2 1
A ∩ B # 4 2 3
3 in A # true
3 ∈ A # true共性
这些数据结构有一个共性它们可以快速匹配等号左边的变量并进行赋值
a,b x # a1, ba
a,b d # a name micro; b age 8但集合本质上是无序的所以并不建议用这种方法赋值比如下面的案例中A在创建时的顺序明明是1, 2, 3, 4, 5但对a,b 赋值的结果却是5和4。
a,b A # a 5, b 4