So konvertieren / wiederherstellen Sie einen String mit [] in Python

Was du machen willst

Ich möchte eine als '[1,2,3,4]' definierte Zeichenfolge in eine Liste konvertieren.

>>> a = [1, 2, 3, 4]
>>> a = str(a)
>>> print(a)
[1, 2, 3, 4]
>>> print(type(a))
<class 'str'>

Obwohl es mit der Standardausgabe schwer zu verstehen ist, handelt es sich programmgesteuert um eine Zeichenfolge von '[1, 2, 3, 4]'.

Umgebung

Methode 1: Verwenden Sie Scheiben

Verwenden Sie Slices, um andere Bereiche als "[]" aufzulisten.

>>> b = list(map(int, a[1:-1].split(", ")))
>>> print(b)
[1, 2, 3, 4]  # <class 'list'>

Methode 2: Verwenden Sie eval ()

eval () ist eine Funktion, die den Code in der Zeichenfolge ausführt. Beispielsweise kann Folgendes ausgeführt werden.

>>> eval("print('hello')")
hello

Sie können sehen, dass die print-Anweisung in der Zeichenfolge ausgeführt wird. Wenn Sie eval () verwenden, wird es als Ausdruck und nicht als Zeichenfolge behandelt.

Konvertierung mit eval

>>> a = [1, 2, 3, 4]
>>> a = str(a)
>>> print(a)
[1, 2, 3, 4]  # <class 'str'>

>>> b = eval(a)
>>> print(b)
[1, 2, 3, 4]  # <class 'list'>

Zusammenfassung

Die obigen zwei Methoden sind zusammengefasst. Es wird vielleicht nicht sehr oft verwendet, aber es war eine gute Gelegenheit, den Unterschied zwischen str und repr zu lernen. Versuch es bitte!

Nachtrag

Obwohl eval () in Methode 2 eingeführt wurde, wurde darauf hingewiesen, dass ein Sicherheitsproblem vorliegt. (Vielen Dank!) Es gibt kein Problem mit dieser Methode, aber es scheint, dass ast.literal_eval () empfohlen wird, da es beliebige Skripte ausführen kann, wenn Eingaben von außen akzeptiert werden.

Referenz: [Warum ist es gefährlich, die Auswertungsfunktion in Webformularen usw. zu verwenden? ](Https://ja.stackoverflow.com/questions/61989/eval%E9%96%A2%E6%95%B0%E3%82%92web%E3%83%95%E3%82%A9%E3% 83% BC% E3% 83% A0% E3% 81% AA% E3% 81% A9% E3% 81% A7% E4% BD% BF% E3% 81% 86% E3% 81% A8% E3% 81% AA% E3% 81% 9C% E5% 8D% B1% E9% 99% BA% E3% 81% AA% E3% 81% AE% E3% 81% 8B)

Recommended Posts

So konvertieren / wiederherstellen Sie einen String mit [] in Python
Einbetten von Variablen in Python-Strings
[Python] So erweitern Sie Variablen in einer Zeichenfolge
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
So arbeiten Sie mit BigQuery in Python
[Python] So invertieren Sie eine Zeichenfolge
Wie bekomme ich Stacktrace in Python?
Konvertieren Sie in eine Zeichenfolge, während Sie die Standardausgabe mit dem Python-Unterprozess ausgeben
So machen Sie einen String in Python zu einem Array oder ein Array zu einem String
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
[Einführung in Python] So geben Sie eine Zeichenfolge in einer Print-Anweisung aus
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
Lesen einer CSV-Datei mit Python 2/3
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
Konvertieren Sie PDFs mit Python in Massenbilder
So erstellen Sie eine JSON-Datei in Python
So benachrichtigen Sie Discord-Kanäle in Python
Wie man tkinter mit Python in Pyenv benutzt
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
[Python] Datum in Zeichenfolge konvertieren
Hinweis: [Python3] Konvertiert datetime in eine Zeichenfolge in einem beliebigen Format
So schreiben Sie eine Zeichenfolge, wenn Python mehrere Zeilen enthält
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
Wie man in Python entwickelt
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Ich möchte eine Variable in einen Python-String einbetten
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
So schreiben Sie in Python die Verkettung von Zeichenfolgen in mehrere Zeilen
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
So führen Sie Tests zusammen mit Python unittest aus
So konvertieren Sie Gleitkommazahlen in Python in Binärzahlen
Konvertieren Sie das Bild in .zip mit Python in PDF
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Ich möchte mit einem Roboter in Python arbeiten.
[Python] Erstellt eine Methode zum Konvertieren von Radix in 1 Sekunde
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
So führen Sie einen Befehl mit einem Unterprozess in Python aus
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
So legen Sie Google Text & Tabellen in einem Ordner zusammen in einer TXT-Datei mit Python ab
[Vorläufig] So konvertieren Sie eine Zeichenfolge mit kivy-ios Memo kivy v1.8.0 in Shift_jis
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Konvertieren Sie die Liste mit Python in DataFrame
So konvertieren Sie 0,5 in 1056964608 auf einmal
Erste Schritte mit Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Konvertieren Sie eine Zeichenfolge in ein Bild