在Python中,如何在一个迭代器上进行迭代,然后在另一个迭代器上进行迭代?

xorsyst:

我想迭代两个不同的迭代器,如下所示:

file1 = open('file1', 'r')
file2 = open('file2', 'r')
for item in one_then_another(file1, file2):
    print item

我希望先打印file1的所有行,然后再打印file2的所有行。

我想要一些通用的东西,因为迭代器可能不是文件,这只是一个例子。我知道我可以这样做:

for item in [file1]+[file2]:

但这会将两个文件都读到内存中,我希望避免。

Ashwini Chaudhary:

用途itertools.chain

from itertools import chain
for line in chain(file1, file2):
   pass

fileinput 模块还提供了类似的功能:

import fileinput
for line in fileinput.input(['file1', 'file2']):
   pass

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将一个迭代器复制到另一个?

如何在另一个Map Java中迭代一个Map

如何在某些源上进行并发迭代器?

Nim:如何从另一个迭代器包装/派生一个迭代器?

如何在Python中.write()两个项目,一个零和一个迭代器?

jQuery单击方法在嵌套在另一个数组中嵌套的对象中的数组上进行迭代时返回未定义

我如何使一个函数在列表上进行两次迭代,从列表的剩余位置开始提取?

用一个迭代器迭代向量的向量

如何在相同元素的另一个可变迭代内迭代可变元素?

在C ++中的for循环上进行迭代,并将迭代器与负数进行比较。一个int可以存储一个未签名的int吗?

如何在python中创建一个迭代器类,它将以相反的顺序迭代输入?

如何在输入装饰器传递的数组上进行迭代

如何为数据帧的单元赋值以有效地在另一个对象上进行迭代

如何在Rust中定义一个包含可迭代项的结构上的迭代器?

在地图上进行SASS循环,获取下一个迭代

无法检索下一个对象:在共享的云端硬盘上进行迭代时,迭代器已达到结束错误

Python / Selenium:在Xpath中插入一个迭代器

迭代器:将最后一个元素与另一个值配对

Angular如何在另一个对象的Object.value上进行迭代

如何使迭代器指向与C ++集合中的另一个元素相同的元素?

在一个选择查询中计算多个聚合函数时,SQL Server如何在行上进行迭代

从一个迭代器到另一个的正确(线条颜色)过渡

是否可以在迭代器上进行迭代?

在另一个迭代中迭代?

用另一个容器中的迭代器填充一个容器

如何迭代一个8个字母,我希望它们在长度和内容上进行迭代?Python

如何在同一个表上进行多个联接,然后与另一个表联接?

XSLT:将一个文档中的ID分配给另一个文档,并在多个相同的值上进行迭代

根据另一个表中的迭代器匹配值填充熊猫行