1. ホーム
  2. パイソン

[解決済み】リストの文字列表現をリストに変換する方法は?

2022-04-16 13:19:11

質問

以下のようなリストを文字列で表現したものを list :

x = '[ "A","B","C" , " D"]'

カンマとカンマの間にスペースを入れたり、引用符の中にスペースを入れたりする場合でも、それを処理して変換する必要があります。

x = ["A", "B", "C", "D"] 

でスペースを取り除くことができるのは知っています。 strip()split() で、文字以外をチェックします。しかし、コードは非常にクドくなっていました。私が知らないクイック機能があるのでしょうか?

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

>>> import ast
>>> x = '[ "A","B","C" , " D"]'
>>> x = ast.literal_eval(x)
>>> x
['A', 'B', 'C', ' D']
>>> x = [n.strip() for n in x]
>>> x
['A', 'B', 'C', 'D']

ast.literal_eval :

ast.literal_eval を使用すると、Python リテラルやコンテナ表示を含む式ノードや文字列を安全に評価できます。提供される文字列やノードは以下のPythonリテラル構造のみから成ることができます: 文字列、バイト、数字、タプル、リスト、ディック、ブーリアン、および None .