El diccionario es una colección desordenada en Python que almacena valores de datos como un mapa, es decir, un par clave: valor. Para convertir una string en un diccionario, la string almacenada debe ser tal que se pueda generar un par clave:valor a partir de ella. Este artículo muestra varias formas de convertir una string en un diccionario. Método 1: dividir una string para generar el par clave:valor del diccionario En este enfoque, la string dada será analizada y con el uso del método split() , la string se dividirá de tal manera que genere la clave: par de valores para la creación de un diccionario. A continuación se muestra la implementación del enfoque.
Python3
# Python implementation of converting # a string into a dictionary # initialising string str = " Jan = January; Feb = February; Mar = March" # At first the string will be splitted # at the occurrence of ';' to divide items # for the dictionaryand then again splitting # will be done at occurrence of '=' which # generates key:value pair for each item dictionary = dict(subString.split("=") for subString in str.split(";")) # printing the generated dictionary print(dictionary)
{' Feb ': ' February', ' Mar ': ' March', ' Jan ': ' January'}
Método 2: Usar 2 strings para generar el par clave:valor para el diccionario En este enfoque, se considerarán 2 strings diferentes y una de ellas se usará para generar claves y otra se usará para generar valores para el diccionario. Después de manipular ambas strings, los elementos del diccionario se crearán utilizando ese par clave:valor. A continuación se muestra la implementación del enfoque.
Python3
# Python implementation of converting # a string into a dictionary # initialising first string str1 = "Jan, Feb, March" str2 = "January | February | March" # splitting first string # in order to get keys keys = str1.split(", ") # splitting second string # in order to get values values = str2.split("|") # declaring the dictionary dictionary = {} # Assigning keys and its # corresponding values in # the dictionary for i in range(len(keys)): dictionary[keys[i]] = values[i] # printing the generated dictionary print(dictionary)
{'Jan': 'January ', 'Feb': ' February ', 'March': ' March'}
Método 3: Uso del método zip() para combinar el par clave:valor extraído de 2 strings En este enfoque, nuevamente se usarán 2 strings, una para generar claves y otra para generar valores para el diccionario. Cuando se almacenan todas las claves y valores, se utilizará el método zip() para crear el par clave:valor y generar así el diccionario completo. A continuación se muestra la implementación del enfoque.
Python3
# Python implementation of converting # a string into a dictionary # initialising first string str1 = "Jan, Feb, March" str2 = "January | February | March" # splitting first string # in order to get keys keys = str1.split(", ") # splitting second string # in order to get values values = str2.split("|") # declaring the dictionary dictionary = {} # Merging all keys and values # to generate items for # the dictionary dictionary = dict(zip(keys, values)) # printing the generated dictionary print(dictionary)
{' March': ' March', 'Jan': 'January ', ' Feb': ' February '}
Método 4: si la string tiene la forma de un diccionario de strings En este enfoque, una string que ya tiene la forma de un diccionario de strings, es decir, la string tiene una expresión de diccionario, se convierte en un diccionario usando el método ast.literal_eval(). A continuación se muestra la implementación del enfoque.
Python3
# Python implementation of converting # a string into a dictionary # importing ast module import ast # initialising string dictionary str = '{"Jan" : "January", "Feb" : "February", "Mar" : "March"}' # converting string into dictionary dictionary = ast.literal_eval(str) # printing the generated dictionary print(dictionary)
{'Feb': 'February', 'Jan': 'January', 'Mar': 'March'}
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA