一尘不染

python-将列表的字符串表示形式转换为列表

python

最简单的方法是将string类似以下的列表转换为list

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

即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容:

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

在Python中。

我可以使用strip()split()使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗?


阅读 581

收藏
2020-02-04

共1个答案

一尘不染

>>> import ast
>>> x = u'[ "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文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。

2020-02-04