En Mon, 28 May 2007 05:37:12 -0300, Wim Vogelaar <[EMAIL PROTECTED]> escribió:
> I made the original list two elements longer: a = > [1,2,3,4,5,6,7,8,9,10,11,12] > > and to my surprise the output is now ordered, giving: {2: 3, 4: 5, 6: 7, > 8: > 9, 10: 11, 12: 13} > > I am running ActiveState ActivePython 2.5 Keys in a dictionary are listed in an arbitrary order; the *only* thing about the ordering you can say is that, given a FIXED dictionary (already constructed, and without any other intervening operation that could alter its content), when you iterate over its keys (using .keys(), .iterkeys()), its values (.values(), .itervalues()) or items (.items(), .iteritems()) you will always get the same things in the same order over and over. If you create the dictionary using a different sequence of insertions and deletions, you may get different results. If you insert and delete things afterwards, you may get different results. If you exit the program and run it again, you may get different results. The *only* guaranteed fact is that you will get the same results provided you don't modify the dictionary at all. See note (3) in http://docs.python.org/lib/typesmapping.html -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list