Strenger brukes til å sende/kommunisere data over nettverket, men når denne strengen mottas av et program, må den konverteres til en datatype som støtter raskere manipulasjoner. I Python er det ordbøker som lar brukeren lagre data i form av par eller nøkkelparverdier. Disse ligner veldig på JSON, og i dette innlegget skal du lære å konvertere en Python -streng til en ordbok.
Innholdet i denne guiden er som følger:
La oss starte med den første metoden med en gang.
Metode 1: Bruke JSON.Loads () Metode for å konvertere streng til dikter
Loads () -metoden brukes til å "laste" en JSON -streng og konvertere den til en JSON, eller i Python, en ordbok. For at denne metoden skal fungere, må imidlertid strengen være i det spesifikke formatet der hver "nøkkel" er innkapslet av anførselstegn, atskilt med en kolon fra "verdien". Og hvert par er atskilt med komma.
For å demonstrere arbeidet med Loads () -metoden for konvertering av streng-til-form, bruk følgende kodebit:
Importer JSON
StringVar = '"Navn": "John Doe", "Age": "20", "yrke": "Doktor" "
ResultatVar = JSON.Loads (StringVar)
Print ("Initial String:", StringVar)
Print ("Etter konvertering:", Resultatvar)
Print ("Type After Conversion:", Type (ResultatVar))
I denne kodebiten:
Når denne koden blir utført, gir den følgende utfall på terminalen:
I denne utgangen kan du enkelt legge merke til at strengen har blitt konvertert til en DICT -datatype i Python.
Metode 2: Bruke AST.LITTERAL_EVAL () Metode for å konvertere streng til DICT
LITTERAL_EVAL () -metoden fra “AST” -pakken kan også brukes til å gjøre nøyaktig samme jobb som Loads () -metoden fra “JSON” -pakken. For å bruke denne metoden, ta en titt på følgende kode:
Importer AST
StringVar = '"Navn": "John Doe", "Age": 20, "Yrke": "Doktor", "Lønn": 40000 "
ResultatVar = AST.LITERAL_EVAL (StringVar)
Print ("Initial String:", StringVar)
Print ("Etter konvertering:", Resultatvar)
Print ("Type After Conversion:", Type (ResultatVar))
Når denne koden blir utført, vil den gi følgende resultat på terminalen:
Utgangen verifiserer at strengen har blitt konvertert til et python dict.
Metode 3: Bruke eval () -metoden for å konvertere streng til dikter
En annen veldig lik metode er eval () -metoden som brukes til å evaluere om en streng er riktig formatert eller ikke og returnerer den konverterte ordboken tilbake til den som ringer. For å se dets arbeid, ta følgende kodeeksempel:
StringVar = '"Navn": "John Doe", "Age": 20, "Yrke": "Doktor", "Lønn": 40000 "
ResultatVar = Eval (StringVar)
print ("Bruke eval () -metoden")
Print ("Initial String:", StringVar)
Print ("Etter konvertering:", Resultatvar)
Print ("Type After Conversion:", Type (ResultatVar))
Når denne koden blir utført, vil den produsere følgende utgang på terminalen:
Du har med hell konvertert en Python -streng til et Python -dikter ved hjelp av eval () -metoden.
Metode 4: Bruke Strip () og Split () i generatoruttrykk
Anta at strengen ikke er i JSON -strengformatet, og at du fremdeles vil konvertere den til et Python Dict. For dette formålet må du bruke forskjellige strengmanipulasjonsmetoder som Strip () og Split (). Anta for eksempel at strengen inneholder nøkkelverdipar, der nøkkelen og verdien er atskilt med en bindestrek “-”, Og hvert par er atskilt med komma. For eksempel er dette strengen som skal konverteres:
StringVar = "Navn - John Doe, alder - 20, yrke - lege, Martial_status - singel"
For å gjøre dette kan brukeren bruke generatoruttrykket, ta en titt på følgende kode:
StringVar = "Navn - John Doe, alder - 20, yrke - lege, Martial_status - singel"
ResultatVar = dict ((a.strip (), b.strip ())
for a, b i (seksjon.dele("-")
for seksjon i Stringvar.dele(",")))
Print ("Initial String:", StringVar)
Print ("AfterConversion:", ResultatVar)
Print ("Type After Conversion:", Type (ResultatVar))
For å forstå denne koden, start fra den innerste sløyfen:
Når denne koden blir utført, produserer den følgende utgang:
Det kan lett observeres at strengen er konvertert til et python dikter.
Konklusjon
For å konvertere en streng til et python “dikter”, kan brukeren bruke Loads () -metoden fra “JSON” -pakken eller LITTERAL_EVAL () -metoden fra “AST” -pakken. For å bruke disse to metodene, bør imidlertid strengen være en JSON -streng. Annet enn dette, hvis strengen er i et annet format, vil brukeren måtte bruke en kombinasjon av forskjellige strengmanipulasjonsmetoder for å komme med et arbeidsgeneratoruttrykk.