获取一个写为字符串的列表

时间:2014-05-04 17:37:49

标签: python string list extract

我目前有一个字符串列表,字符串是一个列表,但是在一个字符串中(见下文)。我想把它列为清单。

我目前有:

mylist = ['[1, 2]', '[2, 4, 9]', '[3]']

我想以

结束
mylist = [[1, 2], [2, 4, 9] [3]]

我曾考虑使用list()将元素作为列表,类似于int()将字符串转换为整数的方式。另外,split()对我来说并不重要,因为它只会将所有内容分解为一个字符串,并从这些字符串中重新创建列表可能会很混乱。

我可能会错过任何快速的方法吗?

2 个答案:

答案 0 :(得分:1)

ast.literal_eval比eval更安全:

import ast
mylist = [ast.literal_eval(str) for str in mylist]

答案 1 :(得分:0)

您可以在列表中使用eval:

myList = [eval(str) for str in myList]

请注意您的列表是否包含用户输入,因为这可用于执行未经检查的代码!

正如user3286261指出的那样,您可以使用ast.literal_eval来避免滥用标准eval。