Python chain()组合多个迭代器

  • Post category:Python

对于Python的chain()函数,它是一个工具函数,可以将多个可迭代对象合并成一个序列,用于按顺序将多个迭代器返回的数据进行合并。

使用方法

首先,需要导入itertools模块,直接使用chain()函数,参数传入多个可迭代对象,比如列表、元组、集合等等,可以使用*args语法进行动态参数传递。

接着在使用过程中,可以使用for循环遍历合并后的迭代器,也可以调用next()方法依次获取合并后的元素,直到迭代结束。

下面是一个简单的示例,以两个列表为例:

import itertools

list1 = [1, 2, 3]
list2 = [4, 5, 6]

for item in itertools.chain(list1, list2):
    print(item)

# 输出:
# 1
# 2
# 3
# 4
# 5
# 6

另外,可以使用chain()函数对多个文件进行读取,例如:

import itertools

with open('file1.txt') as file1, open('file2.txt') as file2:
    for line in itertools.chain(file1, file2):
        print(line.strip())

在这个示例中,首先用with语句同时打开了两个文件,然后使用chain()函数将这两个文件的内容合并成一个序列,最后使用for循环逐行输出。注意,由于打开文件时使用了with语句,因此不需要手动关闭文件。

以上就是关于使用Python chain()函数的说明和示例。