如何将字符串解析为元组列表

时间:2016-05-09 19:18:59

标签: python list parsing input tuples

我有一个格式的字符串 -

" ( (4, 4), (11, 23), (8, 2), (12, 4), (7, 9) ) "

将字符串转换为有意义的整数元组的最佳方法是什么? 可以说fun(s)是一个函数,它将string s作为参数并返回list tuple的{​​{1}}

实施例

a

2 个答案:

答案 0 :(得分:1)

对于这种事情,ast.literal_eval比内置eval更受欢迎,特别是如果字符串可能来自未知来源。调用接口与eval

相同
print(list(ast.literal_eval(s)))

但是,ast.literal_eval将防止可能调用系统服务的代码插入(例如可能删除文件等的代码),并且只接受文字值。

答案 1 :(得分:-2)

您可以使用Python的内置eval()函数。

在这种情况下,您可以像这样编写代码:

s = " ( (4, 4), (11, 23), (8, 2), (12, 4), (7, 9) ) "
print(list(eval(s)))