Fellows:entradas de diccionario Almacenamiento Python en el orden en que son empujados
diccionarioA Python se almacena en ningún orden en particular (asignaciones tienen ningún orden), por ejemplo,
>>> myDict = {'first':'uno','second':'dos','third':'tres'}
myDict = {'first':'uno','second':'dos','third':'tres'}
>>> myDict
myDict
{'second': 'dos', 'third': 'tres', 'first': 'uno'}
Si bien es posible recuperar una lista ordenada o tupla de un diccionario, me pregunto si es posible hacer que un diccionario almacene los elementos en el orden en que se le pasan, en el ejemplo anterior esto significaría tener el orden interno como {'first':'uno','second':'dos','third':'tres'}
y no diferente.
Lo necesito porque estoy usando el diccionario para almacenar los valores a medida que los leo desde un archivo de configuración; una vez leídos y procesados (los valores son alterados), deben escribirse en un nuevo archivo de configuración en el mismo orden en que fueron leídos (este orden no es alfabético ni numérico).
¿Alguna idea?
Editar: Tenga en cuenta que yo no estoy buscando formas secundarias para recuperar el orden (como las listas), pero de maneras de hacer un diccionario pueden pedir en sí mismo (como lo será en las próximas versiones de Python) .
http://stackoverflow.com/questions/1867861/python-dictionary-keep-keys-values-in-same-order-as-declared –
@ Ofri Raviv: exactamente la misma pregunta. Gracias. – Escualo
Como intenta mantener el orden, en realidad no es un diccionario en primer lugar. Estás haciendo demasiadas cosas. Es posible que desee tanto el diccionario (para el mapeo) como la lista (para conservar el orden). Nada de malo con eso. –