views:

170

answers:

2
+4  Q: 

Python Dictionary

I am in simple doubt... I created the following dictionary:

>>> alpha={'a': 10, 'b': 5, 'c': 11}

But, when I want to see the dictionary keys and values I got:

>>> alpha
{'a': 10, 'c': 11, 'b': 5}

See that the "b" and "c" has swapped their position. How can I make the position be the same of the moment that the dictionary was created?

+20  A: 

Dictionaries are unordered containers - if you want to preserve order, you can use collections.OrderedDict (Python 2.7 or later), or use another container type which is naturally order-preserving.

Generally if you have an access pattern that cares about ordered retrieval then a dictionary is solving a problem you don't have (fast access to random elements), while giving you a new one.

Nick Bastin
you can use `OrderedDict` in Python < 2.7 (`pip install ordereddict`)
J.F. Sebastian
+4  A: 

Dictonaries are not guaranting sorting of keys. You can find this information in python docs: http://docs.python.org/tutorial/datastructures.html#dictionaries

You can always sort dictionary keys or use other, more specialized collection.

Lukasz Dziedzia