Python String a un detto

Python String a un detto

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:

  • Metodo 1: usando il JSON.Metodo carichi () per convertire la stringa in dict
  • Metodo 2: usando l'AST.Metodo Literal_eval () per convertire la stringa in dict
  • Metodo 3: usando strip () e split () nelle espressioni del generatore

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:

  • Il modulo "JSON" viene importato in modo che l'utente possa utilizzare il metodo Loads ().
  • Successivamente, la stringa "Stringvar" viene inizializzata
  • Il metodo Loads () viene applicato su StringVar e il risultato viene memorizzato nella variabile "ResultVar"
  • Infine, la stringa originale, il resultvar e il tipo di resultvar sono stampati sul terminale.

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:

  • La stringa viene infilata su ogni occorrenza di una virgola per ottenere singole cime chiave
  • Per ogni sottostringa a coppato a chiave, la stringa è divisa sul verificarsi di un trattino "-"E le due sezioni sono assegnate alle variabili" A "e" B ". La "A" contiene la parte chiave, mentre la "B" contiene la parte del valore.
  • Il metodo Strip () viene applicato su entrambe le variabili "A" e "B" per rimuovere eventuali spazi vuoti prima o dopo la stringa.
  • Successivamente, entrambe queste variabili vengono passate nel metodo DICT () per creare una nuova variabile del dizionario, "ResultVar"
  • Infine, stampare la stringa originale e il risultato variabile convertito e il suo tipo sul terminale usando il metodo di stampa ()

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.