猿问

如何分隔逗号分隔的列表

例如,

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

如何使用上面的每个列表作为新列表的元素来创建一个新列表?

我试着做

string = string.split (',')

但它也将列表中的逗号分隔开,这是我不想要的。


SMILET
浏览 197回答 3
3回答

MYYA

您可以使用ast.literal_eval:>>> import ast>>> strs = "['SING', 'Dance'],['Talk', 'Scream'],['Run', 'Walk']">>> ast.literal_eval("[" + strs + "]")[['SING', 'Dance'], ['Talk', 'Scream'], ['Run', 'Walk']]

ABOUTYOU

>>> 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']")并创建一个元组-对左侧部分进行评估-在左侧元组中拆解右侧元组
随时随地看视频慕课网APP

相关分类

Python
我要回答