"M. 427" <4...@free.fr> wrote
I ended up with this : Version 3 : for i,row in d[:].iteritems() : # BUG : TypeError: unhashable type if len(row) < 2 : del d[i]
You are getting too complicated. You don't need the slice and you don't need iteritems. You have a dictionary. When you iterate over a dictionary what do you get? Don't know? Try it::
for x in {1:'foo',2:'bar'}: print x
... 1 2 So we get the keys. Now how do we use the keys to get the list? Standard dictionary access:
print d[1]
foo You know how to test the lenth of the list and delete the list so put that together as you did before: for row in d : # row is actually the key if len(row) == 1 : # so use the key to get the real row del row # WRONG #' and delete the row, again using the key HTH, -- Alan Gauld Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor