Python错误集锦:list dict类型的数据作为set元素TypeError: unhashable type: ‘list‘ TypeError: unhashable type: ‘dict

原文链接: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)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值