Python数据使用set对数据去重报错TypeError: unhashable type: 'list' 这个错误信息“TypeError: unhashable type: 'list'”表明你试图将一个列表(list)放入一个集合(set)中,但列表是可变的,所以它们不能被用作集合的键。 具体来说,集合中的元素必须是不可变的,这样才能保证集合的唯一性。而列表是可变的,这意味着...
printlist(set(a))# TypeError: unhashable type: 'list' exceptTypeError, e: print"Error:", e # tuple list a=[(1,2), (3,4), (5,6), (7,8), (9,0), (1,2)] print"orginal:", a printlist(set(a))
现象:往set对象里add列表、集合对象时,时提示他们是不可hash的,而对于tuple类型就可以。原因:set里面的对象是hash存储(所以是无序的),对于python万物都是对象,如果存储一个list对象,而后改变了list对象,那set中刚才存储的值的hash就变了。结论:set是hash存储,必须存储不变的对象,例如字符串、数字、元组等。
原因:set里面的对象是hash存储(所以是无序的),对于python万物都是对象,如果存储一个list对象,而后改变了list对象,那set中刚才存储的值的hash就变了。 结论:set是hash存储,必须存储不变的对象,例如字符串、数字、元组等。
TypeError:unhashabletypeset 原因: 出现这种异常通常是因为在使用set()过程中,set()传递进来的不是可哈希的元素。 解决: 将 self.manager.add_new_url(new_urls) 修改为: for ele innew_urls:self.manager.add_new_url(ele) 可哈希的元素有:int、float、str、tuple ...
TypeError: unhashable type: 'list' >>> 1. 2. 3. 4. 5. 6. 2、错误原因 字典类型的键是不可变的,可以使用数字、字符串或元组充当,但是不能使用列表作为键值。这里,使用了列表['n']作为键值,所以会出现报错。 3、解决办法 修改键值,使用字符串或其他不可变类型 ...
TypeError: unhashable type: 'list' 我使用的代码是 TopP = sorted(set(TopP),reverse=True) 其中TopP 是一个列表,就像上面的例子一样 set() 的这种用法是错误的吗?有没有其他方法可以对上面的列表进行排序? 原文由 ami91 发布,翻译遵循 CC BY-SA 4.0 许可协议 python...
python使用set来去重碰到TypeError: unhashable type 2013-11-16 01:18 −... 会被淹死的鱼 1 29691 python set add 导致问题 TypeError: unhashable type: 'list' 2016-07-23 00:06 −问题复现 >>> a = set() >>> b = set() >>> b.add(1) >>> a.add(b) Traceback (most recent call...
File"<stdin>", line 1,in<module>TypeError: unhashable type:'list' >>>tuple(b) (1,) >>> a.add(b) >>> 现象:往set对象里add列表、集合对象时,时提示他们是不可hash的,而对于tuple类型就可以。 原因:set里面的对象是hash存储(所以是无序的),对于python万物都是对象,如果存储一个list对象,而后改变...
TypeError: unhashable type: 'list' 上面报错中的关键词:unhashable,中文是不可哈希的。意思是创建的时候存在不可哈希的数据类型:列表 。我们可以记住: 不可哈希,即代表可变,比如列表、字典等 可哈希,即代表不可变,比如字符串,字典的键等 当我们创建集合的时候,元素必须值可哈希的 ...