Las cadenas se utilizan para enviar/comunicar datos a través de la red, pero cuando esta cadena es recibida por un programa, debe convertirse en un tipo de datos que admite manipulaciones más rápidas. En Python, hay diccionarios que permiten al usuario almacenar datos en forma de pares o valores de pares de teclas. Estos son muy similares a JSON, y en esta publicación, aprenderá a convertir una cuerda de Python en un diccionario.
El contenido de esta guía es el siguiente:
Comencemos con el primer método de inmediato.
Método 1: Uso del JSON.Método de carga () para convertir la cadena en dict
El método Loads () se usa para "cargar" una cadena JSON y convertirla en un JSON, o en Python, un diccionario. Sin embargo, para que este método funcione, la cadena debe estar en el formato específico en el que cada "clave" está encapsulada por comillas, separadas por un colon del "valor". Y cada par está separado por una coma.
Para demostrar el funcionamiento del método de carga () para la conversión de cadena a diccionario, use el siguiente fragmento de código:
importar json
stringvar = '"nombre": "John Doe", "Age": "20", "Ocupación": "Doctor"'
ResultVar = JSON.Cargas (StringVar)
imprimir ("String inicial:", StringVar)
Imprimir ("Después de la conversión:", resultVar)
Imprimir ("Escriba después de la conversión:", escriba (resultVar))
En este fragmento de código:
Cuando se ejecuta este código, produce el siguiente resultado en el terminal:
En esta salida, puede notar fácilmente que la cadena se ha convertido con éxito a un tipo de datos DICT en Python.
Método 2: usando el AST.método literal_eval () para convertir la cadena en dict
El método literal_eval () del paquete "AST" también se puede usar para hacer exactamente el mismo trabajo que el método Loads () desde el paquete "JSON". Para usar este método, eche un vistazo al siguiente código:
importar AST
stringVar = '"Nombre": "John Doe", "Age": 20, "Ocupación": "Doctor", "Salario": 40000'
resultVar = AST.literal_eval (stringvar)
imprimir ("String inicial:", StringVar)
Imprimir ("Después de la conversión:", resultVar)
Imprimir ("Escriba después de la conversión:", escriba (resultVar))
Cuando se ejecuta este código, producirá el siguiente resultado en el terminal:
La salida verifica que la cadena se ha convertido con éxito en un dict de Python.
Método 3: Uso del método eval () para convertir la cadena en dict
Otro método muy similar es el método eval () que se utiliza para evaluar si una cadena está formateada correctamente o no y devuelve el diccionario convertido a la persona que llama. Para ver su funcionamiento, tome el siguiente ejemplo de código:
stringVar = '"Nombre": "John Doe", "Age": 20, "Ocupación": "Doctor", "Salario": 40000'
resultVar = eval (stringvar)
imprimir ("Usando el método eval ()")
imprimir ("String inicial:", StringVar)
Imprimir ("Después de la conversión:", resultVar)
Imprimir ("Escriba después de la conversión:", escriba (resultVar))
Cuando se ejecuta este código, producirá la siguiente salida en el terminal:
Has convertido con éxito una cadena de pitón en un dict de pitón usando el método eval ().
Método 4: Uso de Strip () y Split () en Expresiones del Generador
Supongamos que la cadena no está en el formato de cadena JSON, y aún así desea convertirla en un dict de Python. Para este propósito, tendría que utilizar varios métodos de manipulación de cadenas como Strip () y Split (). Por ejemplo, suponga que la cadena contiene pares de valor clave, en los que la clave y el valor están separados por un guión "-", Y cada par está separado por una coma. Por ejemplo, esta es la cadena a convertir:
stringVar = "Nombre - John Doe, edad - 20, Ocupación - Doctor, Martial_status - Single"
Para hacer esto, el usuario puede utilizar la expresión del generador, echar un vistazo al siguiente código:
stringVar = "Nombre - John Doe, edad - 20, Ocupación - Doctor, Martial_status - Single"
resultVar = dict ((a.Strip (), B.banda())
para a, b en (sección.dividir("-")
Para la sección en StringVar.dividir(",")))
imprimir ("String inicial:", StringVar)
Imprimir ("AfterConversion:", resultVar)
Imprimir ("Escriba después de la conversión:", escriba (resultVar))
Para comprender este código, comience desde el bucle más interno:
Cuando se ejecuta este código, produce la siguiente salida:
Se puede observar fácilmente que la cadena se ha convertido en un dict de pitón.
Conclusión
Para convertir una cadena en un "dict" de Python, el usuario puede usar el método Loads () desde el paquete "JSON" o el método literal_eval () del paquete "AST". Sin embargo, para usar estos dos métodos, la cadena debe ser una cadena JSON. Aparte de esto, si la cadena está en un formato diferente, entonces el usuario tendrá que usar una combinación de varios métodos de manipulación de cadenas para crear una expresión de generador de trabajo.