首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将列表形式的Python字符串转换为列表

将列表形式的Python字符串转换为列表
EN

Stack Overflow用户
提问于 2018-05-28 18:24:01
回答 3查看 68关注 0票数 0

我在Python中有一个下面的字符串:

代码语言:javascript
复制
x = "['good', 'bad', 'something', 'another']"

我想把它转换成一个列表y,这样y会给我good,y1会给我bad

我尝试了许多方法,比如创建一个for循环,尝试x或x,但我只找到了第一个char,而不是整个单词。我也试过了:

代码语言:javascript
复制
y = list(x)

但是没有帮助。

有没有办法在Python上做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2018-05-28 18:25:42

使用ast模块

代码语言:javascript
复制
>>> import ast
>>> y = ast.literal_eval(x)
['good', 'bad', 'something', 'another']
票数 3
EN

Stack Overflow用户

发布于 2018-05-28 18:27:02

代码语言:javascript
复制
x = eval("['good', 'bad', 'something', 'another']")

eval命令就是这样做的,但如果您不确定自己在做什么,请避免使用它。

例如,如果您试图将可运行代码放入该字符串中,eval命令将运行它,从而有可能中断您的系统或使其受到外部攻击。我假设您正在编写一个玩具脚本,该脚本不涉及网络或外部来源的访问

票数 1
EN

Stack Overflow用户

发布于 2018-05-28 18:40:13

您可以在函数中使用字符串构建

代码语言:javascript
复制
 x = "['good', 'bad', 'something', 'another']"  
 y = x.replace("\"", "").replace("[", "").replace("]","").replace("'", "").split(',')

您将获得以下结果:

作为goody[0]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50564209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档