请教老师一个问题:关于 key 不能是可变对象的问题。
Topic sourcelist是可变的不能做key,这点在上面老师已经说过了。
做key的一般都是字符串和数字, 变量是不能做key的
比如
d="abc"
dict1={d:234}
dict2={"d":234}
dict3={"abc":234}
dict2和dict3是正确 dict1就不行
d="abc"
dict1={d:234}
dict1[d]
对于这段,实际上是把d字符串的值“abc”作为键,而不是把d变量作为键,因此dict1={d:234}是不会报错的,赋值之后即使改变了变量d的值,也不会对dict1造成影响
- 1
瀛匀
根据您在 list & tuple 小节中讲到的,tuple 并没有改变,变化的 是元组中的 list。但是为什么这里让一个具有 list 元素的元组作为 字典的 key 的时候却报出错误呢?是否可以说明 key 中的所有元素都不可变?
期待您的讲解,谢谢!