我有一个字符串列表,我想将其转换为元组列表。以下是一个例子。
['(0, "ass\'")', "(-1, '\\n print self.amount')", "(0, '\\n\\n ')"]
转换为。
[(0, "ass\'"), (-1, '\\n print self.amount'), (0, '\\n\\n ')]
任何想法?
答案 0 :(得分:5)
[ast.literal_eval(x) for x in L]
答案 1 :(得分:1)
map(ast.literal_eval, list_of_tuple_strings)
与eval
不同,ast.literal_eval只会评估文字,而不是函数调用,所以它更安全。
答案 2 :(得分:0)
函数eval是我认为你需要的,但要小心使用它:
>>> l = ['(0, "ass\'")', "(-1, '\\n print self.amount')", "(0, '\\n\\n ')"]
>>> map(eval, l)
[(0, "ass'"), (-1, '\n print self.amount'), (0, '\n\n ')]