转换我想要转换为元组列表的字符串列表

时间:2011-03-08 08:55:36

标签: python string list

我有一个字符串列表,我想将其转换为元组列表。以下是一个例子。

['(0, "ass\'")', "(-1, '\\n       print self.amount')", "(0, '\\n\\n  ')"]

转换为。

[(0, "ass\'"), (-1, '\\n       print self.amount'), (0, '\\n\\n  ')]

任何想法?

3 个答案:

答案 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  ')]