我在Python中有一个下面的字符串:
x = "['good', 'bad', 'something', 'another']"
我想把它转换成一个列表y
,这样y会给我good
,y1会给我bad
。
我尝试了许多方法,比如创建一个for循环,尝试x或x,但我只找到了第一个char,而不是整个单词。我也试过了:
y = list(x)
但是没有帮助。
有没有办法在Python上做到这一点?
发布于 2018-05-28 18:25:42
使用ast
模块
>>> import ast
>>> y = ast.literal_eval(x)
['good', 'bad', 'something', 'another']
发布于 2018-05-28 18:27:02
x = eval("['good', 'bad', 'something', 'another']")
eval命令就是这样做的,但如果您不确定自己在做什么,请避免使用它。
例如,如果您试图将可运行代码放入该字符串中,eval命令将运行它,从而有可能中断您的系统或使其受到外部攻击。我假设您正在编写一个玩具脚本,该脚本不涉及网络或外部来源的访问
发布于 2018-05-28 18:40:13
您可以在函数中使用字符串构建
x = "['good', 'bad', 'something', 'another']"
y = x.replace("\"", "").replace("[", "").replace("]","").replace("'", "").split(',')
您将获得以下结果:
作为good
的y[0]
https://stackoverflow.com/questions/50564209
复制相似问题