print(set((1, 2, 3))) # 正常打印 # {1, 2, 3} print(set((1, [2, 3]))) # 报错 # TypeError: unhashable type: 'list'
解释
set 和 dict不可以放入可变对象,因为无法判断两个可变对象是否相等。 [2,3] 实际是指向内存中的一个地址(和指针类似),而这个地址存放的内容又是随时可变的,所以该位置的参数不可变对象,不能放入 set 或 dict。
set
dict
[2,3]
dict只限key不可变,value是不限的,set相当于只有key的dict
这个红色的解释解决了我的困惑!点赞!!
Sign in to make a reply
岷人张
代码
解释