我有我想要转换为元组列表的字符串列表。下面是一个例子。转换我想要转换为元组列表的字符串列表
['(0, "ass\'")', "(-1, '\\n print self.amount')", "(0, '\\n\\n ')"]
要转换成。
[(0, "ass\'"), (-1, '\\n print self.amount'), (0, '\\n\\n ')]
有什么想法吗?
我有我想要转换为元组列表的字符串列表。下面是一个例子。转换我想要转换为元组列表的字符串列表
['(0, "ass\'")', "(-1, '\\n print self.amount')", "(0, '\\n\\n ')"]
要转换成。
[(0, "ass\'"), (-1, '\\n print self.amount'), (0, '\\n\\n ')]
有什么想法吗?
[ast.literal_eval(x) for x in L]
的函数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 ')]
map(ast.literal_eval, list_of_tuple_strings)
不像eval
,ast.literal_eval只会评价文字,而不是函数调用,所以它更安全。
'eval'不安全,但'literal_eval'是。 – 2011-03-08 09:01:23
我不知道这个,谢谢! – Emmanuel 2011-03-08 16:30:54