字典的键不能取数组这样的可变类型(mutable),为何这句可以运行?
Dict([1] => “Li Ming”, [2] => 18)
怎么回事,请帮忙解答
好像,大概,没有说键不能取可变类型吧
https://docs.julialang.org/en/v1/
https://docs.julialang.org/en/v1/base/collections/#Base.Dict
顺带一提
julia> ismutabletype(String)
true
Dict
相关源代码里没有出现类型可变性检测,所以我猜是那个文档错了(大概)
这里的 [1] 是不可变的。
何以见得–[1] 是不可变的
官方文档Collections and Data Structures · The Julia Language
字典是通过哈希表实现的,key应该是不可变的,否则变后的哈希值就改变了,就找不到对应的value了
我觉得这个说的是,键本身作为已有的字典的结构,是不允许改变的,但这不妨碍它是可变类型的
例子中讨论的就是向量作为键竟然可以允许,向量是可变型的