为了账号安全,请及时绑定邮箱和手机立即绑定

如何分隔逗号分隔的列表

如何分隔逗号分隔的列表

SMILET 2021-03-04 14:15:47
例如,string = "['SING', 'Dance'],['Talk', 'Scream'],['Run', 'Walk']"如何使用上面的每个列表作为新列表的元素来创建一个新列表?我试着做string = string.split (',')但它也将列表中的逗号分隔开,这是我不想要的。
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

您可以使用ast.literal_eval:


>>> import ast

>>> strs = "['SING', 'Dance'],['Talk', 'Scream'],['Run', 'Walk']"

>>> ast.literal_eval("[" + strs + "]")

[['SING', 'Dance'], ['Talk', 'Scream'], ['Run', 'Walk']]


查看完整回答
反对 回复 2021-03-26
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

>>> eval("['SING', 'Dance'],['Talk', 'Scream'],['Run', 'Walk']")

>>> (['SING', 'Dance'], ['Talk', 'Scream'], ['Run', 'Walk'])

>>>

>>> list(eval("['SING', 'Dance'],['Talk', 'Scream'],['Run', 'Walk']"))

>>> [['SING', 'Dance'], ['Talk', 'Scream'], ['Run', 'Walk']]

为什么eval("'a',2,[12,'bb']")回('a', 2, [12, 'bb'])虽然没有(前面也没有)在评估字符串的结尾?

我们必须考虑当解释器遇到被评估的表达式作为表达式的正确部分时该如何执行,该表达式从该表达式中进行解压缩。

解释器执行以下行时(其中没有括号)


x,y,z = 'a',2,[12,'bb']

执行的操作是:

-对右侧部分进行评估, eval("'a',2,[12,'bb']")并创建一个元组

-对左侧部分进行评估

-在左侧元组中拆解右侧元组


查看完整回答
反对 回复 2021-03-26
  • 3 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号