2010-06-27 13 views
5

estoy en duda sencilla ... yo creamos el siguiente diccionario:Los productos pedidos en el diccionario de Python

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

Pero, cuando quiero ver las claves y valores que obtuve del diccionario:

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

Mira que la "b" y la "c" han cambiado su posición. ¿Cómo puedo hacer que la posición sea la misma desde el momento en que se creó el diccionario?

+4

¿Por qué querría que las posiciones de 'c' y 'b' permanezcan iguales? – Peter

Respuesta

21

Los diccionarios son contenedores no ordenados: si desea conservar el orden, puede usar collections.OrderedDict (Python 2.7 o posterior), o utilizar otro tipo de contenedor que naturalmente preserva la orden.

En general, si tiene un patrón de acceso que se preocupa por la recuperación ordenada, entonces un diccionario está solucionando un problema que no tiene (acceso rápido a elementos aleatorios), mientras le da uno nuevo.

+1

puede usar 'OrderedDict' en Python <2.7 (' pip install ordereddict') – jfs

Cuestiones relacionadas