[Tutor] Remove a dictionary entry
M. 427
427 at free.fr
Sat Sep 18 03:21:07 CEST 2010
Thank you,
After reading the following documentations
http://docs.python.org/tutorial/datastructures.html#looping-techniques
http://docs.python.org/tutorial/controlflow.html#for-statements
I ended up with this :
Version 3 :
for i,row in d[:].iteritems() : # BUG : TypeError: unhashable type
if len(row) < 2 :
del d[i]
Still buggy... Any lead for this error message? Is a slice unhashable?
Am I looking in the right direction for this task?
Mr. 427
Le vendredi 17 septembre 2010 à 20:50 -0400, bob gailer a écrit :
> Please always reply-all so a copy goes to the tutor list.
>
> On 9/17/2010 6:20 PM, M. 427 wrote:
> > Thank you very much for your answer.
> > I wanted to know the pythonic way of doing this, so I did not post my
> > buggy trial which was :
> >
> > version 1 :
> > for row in d :
> > if len(row) == 1 :
> > del row # WRONG
> >
> > Version 2 :
> > for i,row in d :
> > if len(row) == 1 :
> > del d(i) # BUG : Syntax error
>
> Thank you for posting code. In the future do so initially. It helps us
> know where to help.
>
> It looks like you learned from version 1.
>
> When you get a syntax error check the manual. When you look at del in:
> Python v2.6.4 documentation - The Python Standard Library - 6.8
> Mapping Type - dict
> you will see d[key] - compare that to what you wrote in version 2.
>
> --
> Bob Gailer
> 919-636-4239
> Chapel Hill NC
More information about the Tutor
mailing list