+ 2
How could I make a set object hashable? and what does Hashable mean?
When I'm trying to convert a list object which is including multiple sets in to a set object, an error occurs. TypeError: unhashable type: 'set' >>> ls=[ {1,2,3}, {'a','s','d'}, {6,7,8} ] >>> set(ls) Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> set(a) TypeError: unhashable type: 'set' how to fix this error? And what is meant by the word "Hashable" in python
1 Answer
+ 3
Hashable means immutable (kindof).
A set cannot contain other sets, only immutable elements, while the set itself is mutable (because you can add/remove elements in a set. Question is, what is your intention?
- if you want your set to include the 9 individual values of the original sets, you need to unpack them. Your list contains the 3 sets still holding the elements inside.
- if you want nested sets, then the INNER sets must be frozenset
https://stackoverflow.com/questions/37105696/how-to-have-a-set-of-sets-in-JUMP_LINK__&&__python__&&__JUMP_LINK?lq=1