¿Cómo convertir un OrderedDict anidado en un dictado?

En este artículo, discutiremos cómo convertir un OrderedDict anidado en un dictado . Antes de esto debemos pasar por algunos conceptos:

  • Dictionary en Python es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa que, a diferencia de otros tipos de datos que contienen solo un valor como elemento, Dictionary contiene el par clave: valor. El valor-clave se proporciona en el diccionario para hacerlo más optimizado.
  • Un OrderedDict es una subclase de diccionario que recuerda el orden en que se insertaron las claves por primera vez.
  • La única diferencia entre dict() y OrderedDict() es que: OrderedDict conserva el orden en que se insertan las claves. Un dictado regular no rastrea el orden de inserción y al iterarlo da los valores en un orden arbitrario. Por el contrario, OrderedDict recuerda el orden en que se insertan los elementos .

Para definir el OrderedDict anidado , estamos usando el módulo de colecciones en python.

Python3

#import package
from collections import OrderedDict
 
# define OrderedDict
od1 = OrderedDict([('1', 'one'), ('2', 'two')])
print(type(od1))
print(od1)
 
# define nested OrderedDict
od2 = OrderedDict([('1', 'one'),
                   ('2', OrderedDict([('-2',
                                       '-ive'),
                                      ('+2',
                                       '+ive')]))])
print(type(od2))
print(od2)

Producción:

<clase ‘colecciones.OrderedDict’>

OrderedDict([(‘1’, ‘uno’), (‘2’, ‘dos’)])

<clase ‘colecciones.OrderedDict’>

OrderedDict([(‘1’, ‘one’), (‘2’, OrderedDict([(‘-2’, ‘-ive’), (‘+2’, ‘+ive’)]))])

Podemos convertir OrderedDict a dict en una sola línea, pero esto es solo para OrderedDict simple , no para OrderedDict anidado.

Python3

# import package
from collections import OrderedDict
 
# define OrderedDict
od1 = OrderedDict([('1', 'one'), ('2', 'two')])
 
# convert to dict
od1 = dict(od1)
 
# display dictionary
print(type(od1))
print(od1)

Producción:

<class 'dict'>
{'1': 'one', '2': 'two'}

Entonces, para convertir OrderedDict anidado a dict, estamos usando los métodos json.loads() y json.dumps()

  • La forma completa de JSON es la notación de objetos de JavaScript. Significa que un archivo de secuencia de comandos (ejecutable) que está hecho de texto en un lenguaje de programación se utiliza para almacenar y transferir los datos. Python admite JSON a través de un paquete integrado llamado JSON. Para usar esta función, importamos el paquete JSON en el script de Python. El texto en JSON se realiza a través de una string entre comillas que contiene el valor en el mapeo de clave-valor dentro de { }. Es similar al diccionario en Python.
  • El json.loads()
  • La función json.dumps() convierte un objeto Python en una string json.

Python3

# import package
from collections import OrderedDict
import json
 
# define nested OrderedDict
od2 = OrderedDict([('1', 'one'),
                   ('2', OrderedDict([('-2',
                                       '-ive'),
                                      ('+2',
                                       '+ive')]))])
# convert to dict
od2 = json.loads(json.dumps(od2))
 
# display deictionary
print(type(od2))
print(od2)

Producción:

<class 'dict'>
{'1': 'one', '2': {'-2': '-ive', '+2': '+ive'}}

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *