合并多个可迭代对象

itertools 是 python 的迭代器模块,它提供的工具相当高效且节省内存。
其中的 chain 迭代器能够将多个可迭代对象合并成一个更长的可迭代对象。
具体用法如下:

from itertools import chain

my_list = ['foo', 'bar']
numbers1 = range(5)
numbers2 = range(10, 15)
new_list = list(chain(my_list, numbers1, numbers2))

下面是 chain 的实现:

def chain(*iterables):
    # chain('ABC', 'DEF') --> A B C D E F
    for it in iterables:
        for element in it:
            yield element