Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiere ich String-Darstellungen von Listen in Listenobjekte in Python?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 16:30:01473Durchsuche

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']"

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)

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!

Stellungnahme:
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