次のようなリストの文字列表現を に変換する最も簡単な方法は何かと思いましたlist
。
x = '[ "A","B","C" , " D"]'
ユーザーがカンマの間にスペースを入れたり、引用符の中にスペースを入れたりする場合でも、それを処理して次のように変換する必要があります。
x = ["A", "B", "C", "D"]
strip()
andを使ってスペースを削除しsplit()
、非英字をチェックできることは知っています。しかし、コードが非常に不格好になっていました。私が知らない簡単な関数があるのでしょうか?
ベストアンサー1
>>> 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']
Python リテラルまたはコンテナ表示のみを含む式ノードまたは文字列を評価します。提供される文字列またはノードは、文字列、バイト、数値、タプル、リスト、辞書、セット、ブール値、および の Python リテラル構造のみで構成できます
None
。Ellipsis
これは、値を自分で解析する必要なく、Python 値を含む文字列を評価するために使用できます。演算子やインデックス付けを含む、任意の複雑な式を評価することはできません。