Le stringhe vengono utilizzate per inviare/comunicare dati sulla rete, ma quando questa stringa viene ricevuta da un programma, deve essere convertita in un tipo di dati che supporta manipolazioni più veloci. In Python, ci sono dizionari che consentono all'utente di archiviare i dati sotto forma di coppie o valori di coppia chiave. Questi sono molto simili a JSON e in questo post imparerai come convertire una stringa Python in un dizionario.
Il contenuto di questa guida è il seguente:
Cominciamo con il primo metodo subito.
Metodo 1: usando il JSON.Metodo carichi () per convertire la stringa in dict
Il metodo Loads () viene utilizzato per "caricare" una stringa JSON e convertirla in un JSON, o in Python, un dizionario. Tuttavia, affinché questo metodo funzioni, la stringa deve trovarsi nel formato specifico in cui ogni "chiave" è incapsulata dalle quotazioni, separate da un colon dal "valore". E ogni coppia è separata da una virgola.
Per dimostrare il funzionamento del metodo Loads () per la conversione da stringa a dizionario, utilizzare il seguente frammento di codice:
Importa JSON
StringVar = '"Nome": "John Doe", "Age": "20", "Occupazione": "Doctor"'
resultVar = JSON.Carichi (StringVar)
Print ("String iniziale:", StringVar)
Print ("After Conversion:", ResultVar)
Stampa ("Tipo dopo la conversione:", tipo (risultato))
In questo frammento di codice:
Quando questo codice viene eseguito, produce il seguente risultato sul terminale:
In questo output, puoi facilmente notare che la stringa è stata convertita correttamente in un tipo di dati DICT in Python.
Metodo 2: usando l'AST.Metodo Literal_eval () per convertire la stringa in dict
Il metodo Literal_eval () dal pacchetto "AST" può anche essere usato per fare esattamente lo stesso lavoro del metodo Loads () dal pacchetto "JSON". Per utilizzare questo metodo, dai un'occhiata al seguente codice:
Importa AST
StringVar = '"Nome": "John Doe", "Age": 20, "Occupazione": "Doctor", "Stipendio": 40000'
resultVar = AST.Literal_eval (Stringvar)
Print ("String iniziale:", StringVar)
Print ("After Conversion:", ResultVar)
Stampa ("Tipo dopo la conversione:", tipo (risultato))
Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale:
L'output verifica che la stringa è stata convertita correttamente in un detto di Python.
Metodo 3: utilizzando il metodo Eval () per convertire la stringa in DICT
Un altro metodo molto simile è il metodo valuta () che viene utilizzato per valutare se una stringa è formattata correttamente o meno e restituisce il dizionario convertito al chiamante. Per vedere il suo funzionamento, prendi il seguente esempio di codice:
StringVar = '"Nome": "John Doe", "Age": 20, "Occupazione": "Doctor", "Stipendio": 40000'
ResultVar = Eval (StringVar)
Print ("Utilizzo del metodo Eval ()")
Print ("String iniziale:", StringVar)
Print ("After Conversion:", ResultVar)
Stampa ("Tipo dopo la conversione:", tipo (risultato))
Quando questo codice viene eseguito, produrrà il seguente output sul terminale:
Hai convertito con successo una stringa Python in un detto Python usando il metodo Eval ().
Metodo 4: usando strip () e split () nelle espressioni del generatore
Supponiamo che la stringa non sia nel formato della stringa JSON e che tu voglia ancora convertirla in un detto di Python. A tale scopo, dovresti utilizzare vari metodi di manipolazione delle stringhe come Strip () e split (). Ad esempio, supponiamo che la stringa contenga coppie di valore chiave, in cui la chiave e il valore sono separate da un trattino "-"E ogni coppia è separata da una virgola. Ad esempio, questa è la stringa da convertire:
StringVar = "Nome - John Doe, età - 20, occupazione - medico, martial_status - singolo"
Per fare ciò, l'utente può utilizzare l'espressione del generatore, dare un'occhiata al seguente codice:
StringVar = "Nome - John Doe, età - 20, occupazione - medico, martial_status - singolo"
resultVar = dict ((a.strip (), b.striscia())
per A, B in (sezione.diviso("-")
per la sezione in Stringvar.diviso(",")))
Print ("String iniziale:", StringVar)
Stampa ("AfterConversion:", resultVar)
Stampa ("Tipo dopo la conversione:", tipo (risultato))
Per capire questo codice, inizia dal ciclo più interno:
Quando questo codice viene eseguito, produce il seguente output:
Si può facilmente osservare che la stringa è stata convertita in un detto di Python.
Conclusione
Per convertire una stringa in un "dict" Python, l'utente può utilizzare il metodo Loads () dal pacchetto "JSON" o il metodo Literal_eval () dal pacchetto "AST". Tuttavia, per utilizzare questi due metodi, la stringa dovrebbe essere una stringa JSON. A parte questo, se la stringa è in un formato diverso, l'utente dovrà utilizzare una combinazione di vari metodi di manipolazione delle stringhe per trovare un'espressione del generatore di lavoro.