我目前有一个字符串列表,字符串是一个列表,但是在一个字符串中(见下文)。我想把它列为清单。
我目前有:
mylist = ['[1, 2]', '[2, 4, 9]', '[3]']
我想以
结束mylist = [[1, 2], [2, 4, 9] [3]]
我曾考虑使用list()将元素作为列表,类似于int()将字符串转换为整数的方式。另外,split()对我来说并不重要,因为它只会将所有内容分解为一个字符串,并从这些字符串中重新创建列表可能会很混乱。
我可能会错过任何快速的方法吗?
答案 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。