1. ホーム
  2. python

[解決済み] リストの文字列表現を実際のリストオブジェクトに変換する [重複]...

2023-04-18 22:15:33

質問

リストと同じような文字列がある、としておく。

fruits = "['apple', 'orange', 'banana']"

これをリストオブジェクトに変換するにはどうしたらいいでしょうか?

どのように解決するのですか?

>>> fruits = "['apple', 'orange', 'banana']"
>>> import ast
>>> fruits = ast.literal_eval(fruits)
>>> fruits
['apple', 'orange', 'banana']
>>> fruits[1]
'orange'

コメントで指摘されているように ast.literal_eval 安全 . docsから。

Pythonの式ノードや式を含む文字列を安全に評価します。 式を含む文字列を安全に評価します。提供された文字列またはノードは、以下のPythonリテラル構造のみから構成されることができます。 文字列、数値、タプル、リスト、ディクショナリ、ブーリアン、およびNone。 ディクショナリ、ブーリアン、およびNone。

これは、信頼できないソースから Python の式を含む文字列を安全に評価するために使用できます。 式を含む文字列を、信頼できないソースから、自分で値をパースする必要なく、安全に評価するために使用できます。 値を自分でパースすることなく安全に評価するために使用できます。