将看起来像列表的字符串转换为真实列表 - python

时间:2013-11-27 18:36:12

标签: python string list int tuples

我的输入文件包含如下所示的行:

[(0, 1), (1, 3), (2, 1), (3, 1), (4, 1)]
[(0, 1, 6), (1, 3,7), (3, 1,4), (3, 1,3), (8, 1,2)]
[1,2,3,5,3]

没有字母,没有小数,只有整数和元组中的元素数量是一致的。

如何将它们变成真实的元组列表/ int列表?

1 个答案:

答案 0 :(得分:14)

Python附带电池 - 问题由ast.literal_eval()解决:

>>> import ast
>>> ast.literal_eval("[(0, 1), (1, 3), (2, 1), (3, 1), (4, 1)]")
[(0, 1), (1, 3), (2, 1), (3, 1), (4, 1)]
>>> ast.literal_eval("[(0, 1, 6), (1, 3,7), (3, 1,4), (3, 1,3), (8, 1,2)]")
[(0, 1, 6), (1, 3, 7), (3, 1, 4), (3, 1, 3), (8, 1, 2)]
>>> ast.literal_eval("[1,2,3,5,3]")
[1, 2, 3, 5, 3]