On 11/03/11 16:36, Terry Reedy wrote:
  >  Is there a way to not sort them and leave the order as is?

CPython iterates (and prints) dict items in their arbitrary internal
hash table order, which depends on the number and entry order of the
items. It is a bug to depend on that arbitrary order in any way.

Does this "never trust it" hold even for two consecutive iterations over an unchanged dict? I didn't see anything in the docs[1] to make such a claim, but at least from my experience, one can reliably assert

  d = {}
  randomly_populate(d)
  list1 = list(d.iterkeys())
  list2 = list(d.iterkeys())
  assert list1 == list2

I understand all bets are off if one adds/removes (or maybe changes the values) of the dict between iterations, but I didn't know if what I saw was merely an implementation detail that shouldn't be counted on.

-tkc

[1]
http://docs.python.org/library/stdtypes.html#mapping-types-dict



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to