Python String zu einem Diktat

Python String zu einem Diktat

Zeichenfolgen werden verwendet, um Daten über das Netzwerk zu senden/zu kommunizieren. Wenn diese Zeichenfolge jedoch von einem Programm empfangen wird, muss sie in einen Datentyp umgewandelt werden, der schnellere Manipulationen unterstützt. In Python gibt es Wörterbücher, die es dem Benutzer ermöglichen, Daten in Form von Paaren oder Schlüsselpaarwerten zu speichern. Diese sind JSON sehr ähnlich, und in diesem Beitrag werden Sie lernen, wie man eine Python -Saite in ein Wörterbuch umwandelt.

Der Inhalt dieser Anleitung lautet wie folgt:

  • Methode 1: Verwenden des JSON.loads () Methode zum Umwandeln von String in DICT
  • Methode 2: Verwenden des AST.Literal_eval () Methode zum Umwandeln von String in DICT
  • Methode 3: Verwenden Sie Strip () und Split () in Generatorausdrücken

Beginnen wir sofort mit der ersten Methode.

Methode 1: Verwenden des JSON.loads () Methode zum Umwandeln von String in DICT

Mit der Lades () -Methode wird eine JSON -String „geladen“ und in einen JSON oder in Python, ein Wörterbuch, umwandeln. Damit diese Methode funktioniert, muss sich die Zeichenfolge jedoch in dem spezifischen Format befinden, in dem jeder „Schlüssel“ durch Anführungszeichen eingekapselt wird, die durch einen Dickdarm vom „Wert“ getrennt sind. Und jedes Paar wird durch ein Komma getrennt.

Verwenden Sie den folgenden Code-Snippet:

JSON importieren
Stringvar = '"Name": "John Doe", "Alter": "20", "Beruf": "Doktor"'
resultvar = json.Ladungen (StringVar)
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))

In diesem Code -Snippet:

  • Das "JSON" -Modul wird so importiert, dass der Benutzer die methode loads () verwenden kann.
  • Danach wird die Zeichenfolge "StringVar" initialisiert
  • Die methode lades () wird auf die StringVar angewendet und das Ergebnis wird in der Variablen „resultvar“ gespeichert
  • Zuletzt werden die Originalzeichenfolge, der Ergebnisvar und der Typ des Ergebnisvars auf das Terminal gedruckt.

Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:

In dieser Ausgabe können Sie leicht feststellen, dass die Zeichenfolge in Python erfolgreich in einen Diktat -Datentyp konvertiert wurde.

Methode 2: Verwenden des AST.Literal_eval () Methode zum Umwandeln von String in DICT

Die Methode Literal_eval () aus dem „AST“ -Paket kann auch genauso verwendet werden. Um diese Methode zu verwenden, schauen Sie sich den folgenden Code an:

importieren
Stringvar = '"Name": "John Doe", "Alter": 20, "Beruf": "Doktor", "Gehalt": 40000'
resultvar = ast.literal_eval (Stringvar)
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))

Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:

Die Ausgabe verwertet, dass die Zeichenfolge erfolgreich in einen Python -Diktat umgewandelt wurde.

Methode 3: Verwenden der Methode Eval (), um String in DICT umzuwandeln

Eine weitere sehr ähnliche Methode ist die Methode EVAL (), mit der bewertet wird, ob eine Zeichenfolge korrekt formatiert ist oder nicht, und gibt das konvertierte Wörterbuch an den Anrufer zurück. Um zu sehen, dass es funktioniert, nehmen Sie das folgende Code -Beispiel:

Stringvar = '"Name": "John Doe", "Alter": 20, "Beruf": "Doktor", "Gehalt": 40000'
resultvar = eval (StringVar)
print ("mit der Methode eval ()"))
print ("Initial String:", Stringvar)
print ("nach Conversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))

Wenn dieser Code ausgeführt wird, erzeugt er die folgende Ausgabe am Terminal:

Sie haben eine Python -String erfolgreich in ein Python -Diktat mit der Methode Eval () umgewandelt.

Methode 4: Verwenden Sie Strip () und Split () in Generatorausdrücken

Angenommen, die Saite befindet sich nicht im JSON -String -Format, und Sie möchten sie immer noch in einen Python -Dict umwandeln. Zu diesem Zweck müssten Sie verschiedene String -Manipulationsmethoden wie Strip () und Split () verwenden. Nehmen wir beispielsweise an, die Zeichenfolge enthält Schlüsselwertpaare, in denen der Schlüssel und der Wert durch einen Bindestrich getrennt sind-”, Und jedes Paar wird durch ein Komma getrennt. Dies ist beispielsweise die String, die konvertiert werden soll:

Stringvar = "Name - John Doe, Alter - 20, Beruf - Doktor, Martial_Status - Single"

Dazu kann der Benutzer den Generatorausdruck verwenden und sich den folgenden Code ansehen:

Stringvar = "Name - John Doe, Alter - 20, Beruf - Doktor, Martial_Status - Single"
resultvar = dict ((a).strip (), b.Streifen())
für a, b in (Abschnitt.Teilt("-")
Für Abschnitt in StringVar.Teilt(",")))
print ("Initial String:", Stringvar)
print ("Afterconversion:", resultvar)
print ("Typ nach der Konvertierung:", Typ (resultvar))

Um diesen Code zu verstehen, beginnen Sie von der innersten Schleife:

  • Die Saite wird bei jedem Auftreten eines Kommas geschnitten, um einzelne Schlüsselpaare zu erhalten
  • Für jedes Schlüsselpaar-Substring wird die Zeichenfolge beim Auftreten eines Bindestrichs aufgeteilt-"Und die beiden Abschnitte werden Variablen" A "und" B "zugeteilt. Das „A“ hält den Schlüsselteil, während das „B“ den Wertteil enthält.
  • Die Strip () -Methode wird auf beiden Variablen „A“ und „B“ angewendet, um vor oder nach der Zeichenfolge leere Leerzeichen zu entfernen.
  • Danach werden beide Variablen in die DICT () -Methode übergeben, um eine neue Wörterbuchvariable zu erstellen, "resultvar"
  • Drucken Sie zuletzt die ursprüngliche Zeichenfolge und den konvertierten variablen Ergebnisvar und seinen Typ mit der Druckmethode () auf das Terminal ()

Wenn dieser Code ausgeführt wird, erzeugt er die folgende Ausgabe:

Es kann leicht beobachtet werden, dass die Saite in einen Python -Dict umgewandelt wurde.

Abschluss

Um eine Zeichenfolge in ein Python -Diktat umzuwandeln, kann der Benutzer die Methode "lade () aus dem" JSON "-Paket oder der Methode" Literal_eval () aus dem "AST" -Paket verwenden. Um diese beiden Methoden anzuwenden, sollte die Zeichenfolge jedoch ein JSON -String sein. Wenn sich die Zeichenfolge in einem anderen Format befindet, muss der Benutzer eine Kombination verschiedener String -Manipulationsmethoden verwenden, um einen Arbeitsgeneratorausdruck zu finden.