繁体   English   中英

Python - 文件中的元组列表

[英]Python - list of tuples from file

我已经完成了一些相当密集的计算,并且我无法将结果保存在pickle中(递归深度除外),因此我被迫打印所有数据并将其保存在文本文件中。

有没有简单的方法现在将我的文本列表转换为好... python中的元组列表? 输出看起来像这样:

[(10, 5), (11, 6), (12, 5), (14, 5), (103360, 7), (16, 6), (102725, 7), (17, 6), (18, 5), (19, 9), (20, 6), ...(it continues for 60MB)]

你可以使用ast.literal_eval()

>>> s = '[(10, 5), (11, 6), (12, 5), (14, 5)]'
>>> res = ast.literal_eval(s)
[(10, 5), (11, 6), (12, 5), (14, 5)]
>>> res[0]
(10, 5)
string = "[(10, 5), (11, 6), (12, 5), (14, 5), (103360, 7), (16, 6), (102725, 7), (17, 6), (18, 5), (19, 9), (20, 6)]" # Read it from the file however you want

values = []
for t in string[1:-1].replace("),", ");").split("; "):
    values.append(tuple(map(int, t[1:-1].split(", "))))

首先,我用[1:-1]删除开始和结束方括号,我替换), with ); 能够分裂; 所以它不会被元组中的逗号分开,因为它们之前没有a ) 在循环内部我使用[1:-1]来删除括号,并用逗号分割。 map部分是将数字str转换为int s,我将它们作为tuple附加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM