《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情
user_image
神楽坂立繪Lritsu
2019年6月11日 06:31

练习:tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解释结果。

代码:

d1={(1,2,3)}

print(d1)#输出{(1,2,3)}

d2={(1,[2,3])}

print(d2)#报错:unhashable type:'list'

解释:dict的key是不可变对象,要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key,即[2,3]是一个list类型,可变的,则不能作为key。


登录后评论