list常用去重方法
在python中使用list存储数据时有时候需要list中的数据不能重复,这样就需要用到去重操作,因为set是会自动把重复的内容去掉的,所以常用的简单去重方法是先将list转为set,然后再转为list。如:

a = [1,4,8,2,4,1]
a = list(set(a))
print(a)
输出的结果为:[8, 1, 2, 4]
1
2
3
4
这样就轻松完成了去重操作。

TypeError: unhashable type: 'list’问题分析
上面的方法固然好用,但是在运行下面代码是会报错:

>>> a = [[1,2],3]
>>> a = list(set(a))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
1
2
3
4
5
报错提示的意思是:list是不能哈希的。这是因为调用 set() 来转为集合类型时,传递进来的参数必须是可哈希的(hashable),而list是可变类型无法进行哈希。特意查了查资料,发现可哈希的元素有:int、float、str、tuple;不可哈希的元素有:list、set、dict。

解决方案
转为set的方法行不通,只能另寻办法,我采用的方式如下:

a = [[1,2],3]
b = []
    for i in a:
        if i not in b:
            b.append(i)
1
2
3
4
5
所以最后列表b就是a经过去重操作后得到的结果。
————————————————
版权声明:本文为CSDN博主「weixin_44118318」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44118318/article/details/85254817

typeError: unhashable type: 'list’问题分析相关推荐

  1. 【解决报错原因分析】画图plt.contourf(X,Y,Z)报错TypeError: unhashable type: ‘numpy.ndarray‘(含详细示例讲解)

    今天简化画图代码的时候发现了很奇怪的报错现象,经过一系列尝试找到了根源,希望帮助后来人,主要问题出现在如下语句中(为了体现问题.方便比对,特意在这改变了x为xx,如果你不想看这冗长的示例,可以直接按照 ...

  2. TypeError: unhashable type: 'dict'

    TypeError: unhashable type: 'dict' 错误代码: def update_data(uri_path,value):updateBody = {{"query& ...

  3. 成功解决TypeError: unhashable type: 'numpy.ndarray'

    成功解决TypeError: unhashable type: 'numpy.ndarray' 目录 解决问题 解决思路 解决方法 解决问题 TypeError: unhashable type: ' ...

  4. 机器学习实战:TypeError: unhashable type: 'matrix'

    在<机器学习实战>的第9章树回归中的源代码错误: 既是: TypeError: unhashable type: 'matrix' matrix类型不能被hash 解决过程: In [22 ...

  5. TypeError: unhashable type: 'list'

    在使用list创建set的时候,一直出现TypeError: unhashable type: 'list',这种错误,检查代码,并没有出错,只可能是有些未知的错误,之前可能没有遇到过,百度后发现,原 ...

  6. Python 2.x vs Python 3.x(四)—— TypeError: unhashable type

    list 是可变类型,无法进行 hash,或者说凡可变类型都无法进行 hash: 1. list 作为字典(dict)的 key 注意字典,无论是 Python 2.x 还是 Python 3.x 都 ...

  7. Python debug——TypeError: unhashable type(list/set/dict)

    正如错误提示,list/set/dict 均不可被哈希. 这一异常通常出现在,调用 set(-) 来构造一个 set (集合类型)时,set() 需要传递进来可哈希的元素(hashable items ...

  8. TypeError: unhashable type

    TypeError: unhashable type TypeError: unhashable type: 'list' 通常意味着您正在尝试使用列表作为哈希参数.这意味着当您尝试散列一个 不可散列 ...

  9. list转set遇坑:TypeError: unhashable type: ‘list‘

    由list组成的list(list套list)是不能转set的,形如: datalist = [[a],[b]] 转set时报错:TypeError: unhashable type: 'list' ...

最新文章

  1. conda 和 pip 安装本地包
  2. (零)音视频技术基础知识,现实项目
  3. 深入学习consul
  4. 设计模式(九)--注册树模式
  5. linux 对硬盘重新分区,硬盘重新分区后,linux的硬盘表的重新设置
  6. 如何调用API管理您的云上资源
  7. python字典是什么数据_python---基本数据类型 dict(字典)
  8. python模块request怎么安装_安装 request模块
  9. Java 算法 打水问题
  10. HDU2109 Fighting for HDU【排序】
  11. 学习笔记-数据结构与算法之线性表
  12. PAT (Basic Level) Practice1009 说反话
  13. 沉寂了多年金价为何会连续上涨 专家指出真正原因
  14. SDH 同步数字系列
  15. 阿里巴巴内部Jetpack宝典意外流出!Android岗
  16. 概率论和数理统计知识点汇总
  17. 免费wms物流管理存在的管理漏洞(下)
  18. 交换机接出来的网线可以再接上无线路由器实现无线上网吗
  19. 对话Chris Jones:机器人行业的下一步应该这样走
  20. 大学英语综合教程一 Unit 8 课文内容英译中 中英翻译

热门文章

  1. Python中对象的引用与复制
  2. Python 读取 csv 文件忽略引号中字段的逗号
  3. python清除字符串中间空格的方法
  4. python print %s 号格式化输出
  5. python+mysql:实现一千万条数据插入数据库
  6. Python使用lxml模块和Requests模块抓取HTML页面的教程
  7. matlab输入数组出曲线,用鼠标画出曲线,并将曲线所经过的点保存到数组中
  8. C语言 函数的封装示例(允许存在同名但形参不同函数)
  9. vscode 如何实时显示html文件?
  10. python中的sys.argv是什么?(控制台参数传递、控制台传参)