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

883

我在思考如何将以下字符串表示的列表转换为list的最简单方法:

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

即使在用户在逗号之间放置空格,并且在引号内部也放置空格的情况下,我也需要处理并将其转换为:
x = ["A", "B", "C", "D"] 

我知道可以使用strip()split()去除空格并检查非字母字符。但是代码变得非常混乱。是否有我不知道的快速函数?

21个回答

-1

这个解决方案比我在之前的答案中读到的一些更简单,但它需要匹配列表的所有特征。

x = '[ "A","B","C" , " D"]'
[i.strip() for i in x.split('"') if len(i.strip().strip(',').strip(']').strip('['))>0]

输出:

['A', 'B', 'C', 'D']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接