Jim, OK, use the example below for sorting dictionary keys and placing them in a list. Note that an error will happen if the format on the print statement does not correspond to the type of sort.
#THIS SORTS A DICTIONARY BY USING SET THEORY AND DIC ITEMS! import random dic = {} print "Randomizing!" for i in range(20): dic[ random.randrange(100)] = random.randrange(100, 1000) print "Dic:" j=0 list=[] for k,i in dic.items(): print "K=%d I=%d" % (k,i) list.append("K=%d I=%d" % (k,i)) j+=1 j=0 print "Sorted Dic By Set:" print "Num: Old, Sorted" for k in sorted(set(dic)): print "(%d) %s | K=%d I=%d" % (j+1, list[j], k,dic[k]) j+=1 j=0 print "Sorted Dic By Items:" print "Num: Old, Sorted" for k,i in sorted(dic.items()): print "(%d) %s | K=%d I=%d" % (j+1, list[j], k,i) j+=1 --- 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