Fellows:voci del dizionario Memorizzazione Python nell'ordine in cui sono spinti
dizionarioun pitone è memorizzato in ordine sparso (mappature non hanno alcun ordine), ad esempio,
>>> myDict = {'first':'uno','second':'dos','third':'tres'}
myDict = {'first':'uno','second':'dos','third':'tres'}
>>> myDict
myDict
{'second': 'dos', 'third': 'tres', 'first': 'uno'}
Mentre è possibile recuperare una lista ordinata o tupla da un dizionario, mi chiedo se è possibile fare un dizionario memorizzare gli articoli nell'ordine in cui sono passati ad esso, nell'esempio precedente questo significherebbe avere l'ordinamento interno come {'first':'uno','second':'dos','third':'tres'}
e non diverso.
Ho bisogno di questo perché sto usando il dizionario per memorizzare i valori mentre li leggo da un file di configurazione; una volta letti ed elaborati (i valori sono modificati), devono essere scritti in un nuovo file di configurazione nello stesso ordine in cui sono stati letti (questo ordine non è alfabetico né numerico).
Qualche idea?
Edit: Si prega di notare che io non sono alla ricerca di modi secondari per recuperare l'ordine (come le liste), ma di modi per rendere un dizionario essere ordinati in sé (come sarà nelle prossime versioni di Python) .
http://stackoverflow.com/questions/1867861/python-dictionary-keep-keys-values-in-same-order-as-declared –
@ Ofri Raviv: esattamente lo stesso problema. Grazie. – Escualo
Dato che stai cercando di mantenere l'ordine, in realtà non è un dizionario. Stai facendo troppe cose. Potresti volere sia il dizionario (per la mappatura) che la lista (per mantenere l'ordine). Niente di male in questo. –