Python chain()组合多个迭代器

  • Post category:Python

Python的chain()函数可以用来组合多个迭代器,他的作用就是把一组迭代器串联起来,形成一个更大的迭代器。

语法

chain()函数的语法如下:

chain(iter1, iter2, iter3, ...)

其中,iter1, iter2, iter3等都是可迭代对象。

参数

chain()函数接受一个或多个可迭代对象作为参数,并返回一个由这些可迭代对象的元素组成的迭代器。

返回值

返回一个迭代器,可迭代对象中所有的元素会被依次输出。

示例1

使用chain()函数可以轻松地将多个迭代器组合在一起,以便进行迭代。下面是一个简单的示例代码:

from itertools import chain

nums1 = [1, 2, 3, 4]
nums2 = [5, 6, 7, 8, 9]
nums3 = [10, 11, 12]

nums = chain(nums1, nums2, nums3)

for num in nums:
    print(num, end=' ')

输出结果为:

1 2 3 4 5 6 7 8 9 10 11 12

示例2

同时,我们也可以用chain()函数来进行迭代器的拼接操作。下面的示例代码展示了如何使用chain()函数将两个生成器拼接起来:

from itertools import chain

def gen1():
    for i in range(1, 4):
        yield i

def gen2():
    for i in range(4, 7):
        yield i

gen = chain(gen1(), gen2())

for num in gen:
    print(num, end=' ')

输出结果为:

1 2 3 4 5 6

从以上示例代码可以看出,使用chain()函数可以轻松地将多个迭代器拼接起来,以便进行逐个访问。通过这种方式,我们可以实现对多个序列的一次性遍历,从而大大提升了迭代的效率。