小编典典

如何将列表的字符串表示形式转换为列表?

all

我想知道最简单的方法是将如下列表的字符串表示形式转换为list

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

即使在用户在逗号之间放置空格和引号内放置空格的情况下,我也需要处理它并将其转换为:

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

我知道我可以用strip()and去除空格split()并检查非字母字符。但是代码变得非常笨拙。有我不知道的快速功能吗?


阅读 126

收藏
2022-03-02

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

ast.literal_eval

ast.literal_eval您可以安全地评估包含 Python 文字或容器显示的表达式节点或字符串。提供的字符串或节点只能由以下 Python
文字结构组成:字符串、字节、数字、元组、列表、字典、布尔值和None.

2022-03-02