元组简介
Tuple
s 是任意不同对象的不可变有序集合,可以是相同类型,也可以是不同类型 。通常,使用 (x, y)
语法构造元组。
julia> tup = (1, 1.0, "Hello, World!")
(1,1.0,"Hello, World!")
可以使用索引语法检索元组的各个对象:
julia> tup[1]
1
julia> tup[2]
1.0
julia> tup[3]
"Hello, World!"
它们实现了可迭代接口 ,因此可以使用 for
循环进行迭代 :
julia> for item in tup
println(item)
end
1
1.0
Hello, World!
元组还支持各种通用集合函数,例如 reverse
或 length
:
julia> reverse(tup)
("Hello, World!",1.0,1)
julia> length(tup)
3
此外,元组支持各种高阶集合操作,包括 any
,all
, map
或 broadcast
:
julia> map(typeof, tup)
(Int64,Float64,String)
julia> all(x -> x < 2, (1, 2, 3))
false
julia> all(x -> x < 4, (1, 2, 3))
true
julia> any(x -> x < 2, (1, 2, 3))
true
可以使用 ()
构建空元组:
julia> ()
()
julia> isempty(ans)
true
但是,要构造一个元素的元组,需要使用尾随逗号。这是因为括号((
和 )
)否则将被视为分组操作而不是构造元组。
julia> (1)
1
julia> (1,)
(1,)
为了保持一致性,对于具有多个元素的元组,也允许使用尾随逗号。
julia> (1, 2, 3,)
(1,2,3)