原文链接:http://www.juzicode.com/archives/2715
错误提示:
构建set类型的数据时,使用tuple类型的数据作为元素没有问题,使用list、dict类型的数据作为元素报TypeError: unhashable type: ‘list’、 TypeError: unhashable type: ‘dict’
#juzicode.com/vx:桔子code
t = ('juzicode.com', '桔子code', '橙子')
l = ['juzicode.com', '桔子code', '橙子']
s = {t,l}
print(s)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-0b5bb290b6d5> in <module>
2 t = ('juzicode.com', '桔子code', '橙子')
3 l = ['juzicode.com', '桔子code', '橙子']
----> 4 s = {t,l}
5 print(s)
TypeError: unhashable type: 'list'
#juzicode.com/vx:桔子code
t = ('juzicode.com', '桔子code', '橙子')
d = {'A':'juzicode.com','B':'桔子code','C':'橙子'}
s = {t,d}
print(s)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-09a980be5a48> in <module>
2 t = ('juzicode.com', '桔子code', '橙子')
3 d = {'A':'juzicode.com','B':'桔子code','C':'橙子'}
----> 4 s = {t,d}
5 print(s)
TypeError: unhashable type: 'dict'
可能原因:
1、set不支持list和dict类型的元素
解决方法:
1、list类型数据可以改为tuple类型。
t = ('juzicode.com', '桔子code', '橙子')
l = ['juzicode.com', '桔子code', '橙子']
l2 = tuple(l)
s = {t,l2}
print(s)