Wie konvertiere ich String-Darstellungen von Listen in Listenobjekte in Python?

Patricia Arquette
Freigeben: 2024-11-08 16:30:01
Original
429 Leute haben es durchsucht

How to Convert String Representations of Lists into List Objects in Python?

Konvertieren von String-Darstellungen von Listen in Listenobjekte

Viele Situationen in der Programmierung erfordern die Arbeit mit als Strings gespeicherten Daten. Manchmal ähneln diese Zeichenfolgen Listen, bleiben jedoch in Textform. Es kann notwendig werden, diese Zeichenfolgendarstellungen in tatsächliche Listenobjekte umzuwandeln. Hier ist ein häufiges Szenario:

Stellen Sie sich eine Zeichenfolge „Früchte“ vor, die mit einer Liste identisch aussieht:

fruits = "['apple', 'orange', 'banana']"
Nach dem Login kopieren

So konvertieren Sie:

In Konvertieren Sie diese Zeichenfolge in ein Listenobjekt und verwenden Sie die Funktion ast.literal_eval:

import ast
fruits = ast.literal_eval(fruits)
Nach dem Login kopieren

Sicherheitsüberlegungen:

ast.literal_eval bietet zwar eine einfache Konvertierung, ist aber von entscheidender Bedeutung der Sicherheit Priorität einzuräumen, insbesondere bei der Arbeit mit Zeichenfolgen aus nicht vertrauenswürdigen Quellen. Wie in der Dokumentation der Funktion erwähnt, sind nur bestimmte Literalstrukturen zulässig:

  • Strings
  • Zahlen
  • Tupel
  • Listen
  • Dicts
  • Boolesche Werte
  • Keine

Der Versuch, eine Zeichenfolge auszuwerten, die nicht-literale Strukturen oder komplexe Python-Ausdrücke enthält, kann Sicherheitsrisiken bergen. Erwägen Sie die Verwendung alternativer Ansätze, wenn Sie mit Zeichenfolgen unbekannter Herkunft arbeiten.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich String-Darstellungen von Listen in Listenobjekte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage