将括号添加到列表元素 - Python

时间:2016-08-26 07:15:38

标签: python string list file

我想以列表的形式检索文件中的一组数据。

以下是我要从文件中读取的数据,我要添加到列表中:

  

文件输入:(3,5),(5,2),(2,1),(4,2),(4,1),(3,1)

以下代码显示了我现在拥有的内容:

with open("partial.txt") as f:
List = f.read().splitlines()

graph1 = ','.join('({0})'.format(w) for w in List)

print (graph1)

我得到的输出是:

>> (3,5),(5,2),(2,1),(4,2),(4,1),(3,1)

但我想在[]中得到上述结果,如下所示:

>> [(3,5),(5,2),(2,1),(4,2),(4,1),(3,1)]

有人可以展示我需要做些什么来获得上述结果

2 个答案:

答案 0 :(得分:3)

import ast

s = "(3,5),(5,2),(2,1),(4,2),(4,1),(3,1)"

>>> list(ast.literal_eval(s))
[(3, 5), (5, 2), (2, 1), (4, 2), (4, 1), (3, 1)]

以下为SO linkevalast.literal_eval

答案 1 :(得分:0)

通过此代码解决了它,元组列表! :

with open('partial.txt') as f:
graph = [tuple(map(int, i.split(','))) for i in f]

print (graph)