字典的键不能取数组这样的可变类型(mutable),为何这句可以运行?

字典的键不能取数组这样的可变类型(mutable),为何这句可以运行?
Dict([1] => “Li Ming”, [2] => 18)
image

怎么回事,请帮忙解答

这是我的版本

好像,大概,没有说键不能取可变类型吧

李东风老师的教程中说到了:

python中有这样的规定
更为权威的官方文档没查到,请大佬们帮忙确认

顺便问一下:权威的官方文档在何处?–给出准确的用法

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了

我觉得这个说的是,键本身作为已有的字典的结构,是不允许改变的,但这不妨碍它是可变类型的

例子中讨论的就是向量作为键竟然可以允许,向量是可变型的