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

标签 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]

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

我如何将它们变成真正的元组列表/整数列表?

最佳答案

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]

关于python - 将看起来像列表的字符串转换为真正的列表 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250396/

相关文章:

python - 根据可选参数过滤 Django 中的对象

c++ - 如果字符串语句

c++ - 如何将 std::string 分配给我类(class)中的其他 std::string(overload = for string object)。如何加载 .ini 文件

c# - 一个对象中的多个列表

c# - 将 XML 属性读入列表

python - gmate 错误 - 尝试打开 gmate 时没有名为 gconf 的模块

python - 错误 : bad runtime process port ['' ] on App Engine

python - 期望非 bool 返回值时返回 False 是一种好习惯吗?

java - ReplaceAll 正则表达式匹配所有模式,无需特定字符串

python - 如何将大小为 3 的元组列表制作为键值对?