Strings são usadas para enviar/comunicar dados sobre a rede, mas quando essa string é recebida por um programa, ela deve ser convertida em um tipo de dados que suporta manipulações mais rápidas. No Python, existem dicionários que permitem ao usuário armazenar dados na forma de pares ou valores de pares de chave. Estes são muito semelhantes ao JSON e, neste post, você aprenderá a converter uma corda Python em um dicionário.
O conteúdo deste guia é o seguinte:
Vamos começar com o primeiro método imediatamente.
Método 1: Usando o JSON.Método de carga () para converter string em dicto
O método loads () é usado para "carregar" uma string json e convertê -lo em um json, ou em python, um dicionário. No entanto, para que esse método funcione, a string deve estar no formato específico em que cada "chave" é encapsulada por aspas, separadas por um cólon do "valor". E cada par é separado por vírgula.
Para demonstrar o funcionamento do método LOADS () para conversão de sequência em dicionário, use o seguinte snippet de código:
importar json
stringvar = '"name": "John Doe", "Age": "20", "Occupation": "Doctor"' '
resultVar = JSON.Cargas (Stringvar)
print ("String inicial:", Stringvar)
print ("Após a conversão:", ResultVar)
print ("Digite após conversão:", tipo (resultado))
Neste snippet de código:
Quando este código é executado, ele produz o seguinte resultado no terminal:
Nesta saída, você pode notar facilmente que a string foi convertida com sucesso em um tipo de dados de dicto em python.
Método 2: Usando o AST.Método literal_eval () para converter string em dicto
O método literal_eval () do pacote "AST" também pode ser usado para fazer exatamente o mesmo trabalho que o método loads () do pacote "json". Para usar este método, dê uma olhada no seguinte código:
importar ast
stringvar = '"Nome": "John Doe", "Age": 20, "Ocupação": "Doctor", "Salário": 40000'
resultVar = ast.literal_eval (stringvar)
print ("String inicial:", Stringvar)
print ("Após a conversão:", ResultVar)
print ("Digite após conversão:", tipo (resultado))
Quando este código for executado, ele produzirá o seguinte resultado no terminal:
A saída verifica se a string foi convertida com sucesso em um ditado de python.
Método 3: Usando o método Eval () para converter string em dicto
Outro método muito semelhante é o método Eval () usado para avaliar se uma string é formatada corretamente ou não e retorna o dicionário convertido de volta ao chamador. Para ver seu funcionamento, pegue o seguinte exemplo de código:
stringvar = '"Nome": "John Doe", "Age": 20, "Ocupação": "Doctor", "Salário": 40000'
ResultVar = Eval (StringVar)
print ("Usando o método Eval ()")
print ("String inicial:", Stringvar)
print ("Após a conversão:", ResultVar)
print ("Digite após conversão:", tipo (resultado))
Quando este código for executado, ele produzirá a seguinte saída no terminal:
Você converteu com sucesso uma string python em um ditado python usando o método EVALL ().
Método 4: Usando Strip () e Split () em expressões de gerador
Suponha que a string não esteja no formato JSON String, e você ainda deseja convertê -la em um ditado de python. Para esse fim, você teria que utilizar vários métodos de manipulação de cordas como Strip () e Split (). Por exemplo, suponha que a string contenha pares de valor-chave, nos quais a chave e o valor são separados por um hífen “-”, E cada par é separado por uma vírgula. Por exemplo, esta é a string a ser convertida:
stringvar = "Nome - John Doe, idade - 20, ocupação - Doctor, Martial_status - Single"
Para fazer isso, o usuário pode utilizar a expressão do gerador, dê uma olhada no seguinte código:
stringvar = "Nome - John Doe, idade - 20, ocupação - Doctor, Martial_status - Single"
resultVar = dicto ((a.tira (), b.faixa())
para A, B em (Seção.dividir("-")
Para seção em Stringvar.dividir(",")))
print ("String inicial:", Stringvar)
print ("Afterconversão:", ResultVar)
print ("Digite após conversão:", tipo (resultado))
Para entender este código, comece a partir do loop mais interno:
Quando este código é executado, ele produz a seguinte saída:
Pode -se observar facilmente que a corda foi convertida em um ditado de python.
Conclusão
Para converter uma string em um python "dict", o usuário pode usar o método loads () do pacote "json" ou o método literal_eval () do pacote "ast". No entanto, para usar esses dois métodos, a string deve ser uma string json. Fora isso, se a string estiver em um formato diferente, o usuário terá que usar uma combinação de vários métodos de manipulação de string para criar uma expressão de gerador de trabalho.