【发布时间】:2014-02-04 17:22:46
【问题描述】:
l = "['Hello', 'my', 'name', 'is', 'Apple']"
l1 = ['Hello', 'my', 'name', 'is', 'Apple']
type(l) 返回str 但我希望它是一个列表,就像l1 一样。
如何将该字符串转换为通用列表?
【问题讨论】:
l = "['Hello', 'my', 'name', 'is', 'Apple']"
l1 = ['Hello', 'my', 'name', 'is', 'Apple']
type(l) 返回str 但我希望它是一个列表,就像l1 一样。
如何将该字符串转换为通用列表?
【问题讨论】:
ast 模块有一个 literal_eval 可以满足您的需求
import ast
l = "['Hello', 'my', 'name', 'is', 'Apple']"
l1 = ast.literal_eval(l)
输出:
['Hello', 'my', 'name', 'is', 'Apple']
【讨论】:
literal_eval,而不是普通的危险eval。
eval 重命名为 evil
ast.literal_eval 是一个不错的方法。对于那些喜欢字符串操作的人,另一个选择是:
l1 = [x[1:-1] for x in l[1:-1].split(', ')]
【讨论】: