Python Error

subhabangalore at gmail.com subhabangalore at gmail.com
Sun Jul 29 16:41:47 CEST 2012


On Sunday, July 29, 2012 7:53:59 PM UTC+5:30, Roy Smith wrote:
> In article <81818a9c-60d3-48da-9345-0c0dfd5b25e7 at googlegroups.com>,
> 
>  subhabangalore at gmail.com wrote:
> 
> 
> 
> > set1=set(list1)
> 
> > 
> 
> > the code was running fine, but all on a sudden started to give the following 
> 
> > error,
> 
> > 
> 
> > set1=set(list1)
> 
> > TypeError: unhashable type: 'list'
> 
> 
> 
> First, make sure you understand what the error means.  All the elements 
> 
> of a set must be hashable.  Lists are not hashable because they are 
> 
> mutable.  So, what the error is telling you is that some element of 
> 
> list1 is itself a list, and therefore not hashable, and thus the set 
> 
> can't be created.
> 
> 
> 
> I would start by printing list1.  If the list is long (or contains 
> 
> deeply nested structures), just doing "print list1" may result in 
> 
> something that is difficult to read.  In that case, try using pprint 
> 
> (see the pprint module) to get a nicer display.
> 
> 
> 
> If it's still not obvious, pull out the bigger guns.  Try something like:
> 
> 
> 
> for item in list1:
> 
>    try:
> 
>       hash(item)
> 
>    except TypeError:
> 
>       print "This one can't be hashed: %s" % item
> 
> 
> 
> > And sometimes some good running program gives error all on a sudden with no 
> 
> > parameter changed
> 
> 
> 
> Well, *something* changed.  Assuming nothing truly bizarre like a stray 
> 
> Higgs Boson flipping a bit in your computer's memory, what you need to 
> 
> do is figure out what that is.  Did you change your code in any way 
> 
> (having everything under version control helps here)?  If not the code, 
> 
> then what changed about the input?
> 
> 
> 
> If you're sure that both the code and the input are unchanged, that 
> 
> leaves something in the environment.  Did your python interpreter get 
> 
> upgraded to a newer version?  Or your operating system?  PYTHONPATH?
> 
> 
> 
> Depending on what your program is doing, it could be something time 
> 
> based.  A different time zone, perhaps?  Did daylight savings time just 
> 
> go into or out of effect where you are?  Does it only fail on Sunday?

Hi Roy,
Sorry I overlooked your answer. It fails generally on Sunday. True. How you got it? I recently downloaded Python2.7 64 bit -while I am working on Python3.2.1 64 bit Windows 7 SP1. 
Regards,
Subhabrata Banerjee.  



More information about the Python-list mailing list