¿Cómo mantiene Python un diccionario en orden (código)?
Necesitamos crear un diccionario y, al iterar o serializar el diccionario, también podemos controlar el orden de los elementos que contiene. 2. Solución
Para controlar el orden de los elementos en el diccionario, puedes usar la clase OrderedDict en el módulo de colecciones. Al iterar sobre un diccionario, se hará estrictamente en el orden en que se agregaron originalmente los elementos.
Importar pedidos directamente desde la colección
d=OrderedDict()
d['a']=1
d[' b ']=2
d['c']=3
d['d']=4
#Eliminar salida según la inserción p>
Para la clave en d:
Imprimir(clave, d[clave]) resultados:
1
b 2
c 3
D 4 OrderedDict es particularmente útil cuando desea crear una estructura de mapeo para que luego pueda serializarse o codificarse en otro formato. Por ejemplo, si desea controlar con precisión el orden de los campos al codificar JSON, primero solo necesita crear los datos según OrderedDict:
Importar pedidos desde la colección directamente
Importar json
p>d=OrderedDict()
d['a']=1
d['b']=2
d[' c']=3
d['d']=4
j=json.dumps(d)
Imprimir (j) resultados:
p>
{"a": 1, "b": 2, "c": 3, "d": 4} Ordered Dict mantiene una lista doblemente enlazada, organizando las claves posiciones en el orden en que se agregan los elementos. El primer elemento recién agregado se coloca al final de la lista vinculada y las claves existentes se reasignan sin cambiar la posición de la clave. Tenga en cuenta: OrderedDict tiene el doble de tamaño que un diccionario normal. Esto se debe a que crea listas vinculadas adicionales. Por lo tanto, si planea crear una estructura de datos que involucre una gran cantidad de instancias de OrderedDict (por ejemplo, leer 100 000 filas de un archivo CSV en una lista de OrderedDict), debe calificar y analizar los requisitos de su aplicación para juzgar la uso de OrderedDict con Si los beneficios superan las desventajas de la sobrecarga de memoria adicional.