A quick but ugly [brain-dead :-) ]fix would be sorting keys seperately,
>>> for i in d.keys(): print "%s\t%s" % (i, d[i])
a 1 c 0 b 3 d 2 >>> temp = d.keys() >>> temp.sort() >>> for i in temp: print "%s\t%s" % (i, d[i])
a 1 b 3 c 0 d 2 >>>
Thnx,
Mugund
--- On Tue, 5/13/08, James Hartley <[EMAIL PROTECTED]> wrote:
From: James Hartley <[EMAIL PROTECTED]> Subject: [Tutor] sorting dictionary keys? To: tutor@python.org Date: Tuesday, May 13, 2008, 11:06 AM
I suspect this is a brain-dead question...
Given the following code, output is as expected:
$ cat test.py
d = { 'a' : 1, 'd' : 2, 'b' : 3, 'c' : 0 }
for i in d.keys():
print "%s\t%s" % (i, d[i])
$ python test.py
a 1
c 0
b 3
d 2
$
But if the keys are sorted, I get an error:
$ cat test1.py
d = { 'a' : 1, 'd' : 2, 'b' : 3, 'c' : 0 }
for i in d.keys().sort():
print "%s\t%s" % (i, d[i])
$ python test1.py
Traceback (most recent call last):
File "test.py", line 3, in <module>
for i in d.keys().sort():
TypeError: 'NoneType' object is not iterable
$
What is the correct manner to iterate through sorted dictionary keys?
Thanks.
Jim
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor |
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile.
Try it now.
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor