除了字典可变而命名元组不可变、命名元组可以通过位置检索并具有稍微不同的表示法之外,在Julia中,字典和命名元组还有其他显著的区别吗?何时使用其中之一?
它们看起来非常相似:
它们看起来非常相似:
# Definition
d = Dict("k1"=>"v1", "k2"=>"v2")
nt = (k1="v1", k2="v2")
# Selection by specific key
d["k1"]
nt.k1
# Keys
keys(d)
keys(nt)
# Values
values(d)
values(nt)
# Selection by position
d[1] # error
nt[1]
NamedTuple
中键/值的顺序很重要。即使Dict(:a => 1, :b => 2) == Dict(:b => 2, :a => 1)
,(a=1,b=2) != (b=2,a=1)
。 - BallpointBen