如何逐行读取文件并在python中同时按元素读取列表元素

时间:2015-08-07 05:44:13

标签: python loops

我在python中有一个文本文件和一个整数列表。我想逐行读取文件的内容,同时解析列表的元素。

以下是文本文件(myfile.txt)的内容示例:

line1
line2
line3

,列表是:

mylist = (1, 2, 3)

例如,我想要一个如下所示的循环:

for line, item in open(myfile.txt), mylist:
  print line
  print item

我希望看到这个输出:

line1
1
line2
2
line3
3

2 个答案:

答案 0 :(得分:4)

使用zip

for line, item in zip (open ('myfile.txt'), mylist):
  print (line)
  print (item)

当最短的迭代次数耗尽时,循环将停止。

答案 1 :(得分:0)

如果你不想一次阅读整个文件,你可以使用itertools.izip如果你使用python2:

for line, item in itertools.izip(open("myfile.txt", mylist)):
    print(line)
    print(item)

如果您正在使用python3,则应使用zip代替:

for line, item in zip(open("myfile.txt", mylist)):
    print(line)
    print(item)

如果你不介意一次性阅读文件,你可以使用zip(对于python2和3)。