itertools.chain()可以接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节
>>> from itertools
import chain
>>> a
= [1, 2, 3, 4]
>>> b
= ['x', 'y', 'z']
>>> for x
in chain
(a
, b
):
... print(x
)
...
1<br
>2<br
>3<br
>4<br
>x
<br
>y
<br
>z
>>>
itertools.chain()接受一个或多个可迭代对象作为输入参数。然后创建一个迭代器,依次连续的返回每个可迭代对象的元素。这种方式要比先将序列合并再迭代要高效的多
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for x
in a
+ b
:
...
for x
in chain
(a
, b
):
...
第一种方案中, a + b 操作会创建一个全新的序列并要求a 和b 的类型一致。chian() 不会有这一步,所以如果输入序列非常大的时候会很省内存。并且当可迭代对象类型不一样的时候chain() 同样可以很好的工作。