Python:文件中的元组列表

时间:2015-08-10 15:47:44

标签: python list tuples

我有两个txt文件,每个文件都包含一个元组列表:

文件包含元组列表,其中每个元素由整数和浮点数组成:

(22, 0.4271125909116274) 
(14, 0.4212051728881959) 
(3, 0.4144765342960289) 
....

另一个文件包含一个元组列表,其中每个元素由两个整数组成:

(22, 82276) 
(14, 80125) 
(38, 79598) 
....

我想将这些列表作为函数的输入,有人可以建议我从文件中导入这两个列表吗?

3 个答案:

答案 0 :(得分:0)

我认为你基本上问“如何在python中打开文件?”

with open(filename) as file:
    for line in file:
        your_func(line) # this will be each line in the `filename`

如果您使用with打开文件,则无需手动关闭文件。

答案 1 :(得分:0)

类似的东西:

with open("file.txt", "r") as ins:
    tuples = []
    for line in ins:
        tuples.append(tuple(line[1:-1].split(', ')))

这将打开你的文件,解析它(在括号之间进行部分并将其拆分为2个元素列表),然后将其转换为元组并将其添加到元组列表中。

这可以通过列表理解进一步增强,但为了简单起见,我不会进入。

答案 2 :(得分:0)

使用eval可能是一个解决方案:

# say file is a.txt
mylist = []

with open('a.txt') as file:
    for line in file.readlines():
        line = line.strip('\n')
        mylist.append(eval(line))

print(mylist)

注意: - 说到这一点,应该明智地使用eval。