list 的格式 a=['a','b','c']
tuple 的格式 a=('a','b','c')
dict 的格式 a={a:b}--b可以省略 a不能为list
set 的格式 a=set((a))--a不能为list
a=(1,2,3)
b=(1, [2, 3])
c={a} {(1, 2, 3)} 这里(1,2,3)应该是一个整体的key值
d={b}
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'
dict 的key必须为不可变对象。而 b中的[2,3]可变所以报错。
e={a:b}
{(1, 2, 3): (1, [2, 3])}
e[a]
(1, [2, 3])
dict 的key必须为不可变对象。这里将key变成了不可变对象。value是否可变无影响。
b[1][0]=3
e
{(1, 2, 3): (1, [3, 3])}
f=set(a)
{1, 2, 3} 这里1,2,3表示有这三个元素,即使是显示结果排序了,也不表示set是有序的。
g=set(b) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'
set 的key必须为不可变对象。而 b中的[2,3]可变所以报错。