from itertools import chain:使用详解
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了from itertools import chain:使用详解相关的知识,希望对你有一定的参考价值。
chain使用形式
第一种
chain 接收多个可迭代对象作为参数,将它们『连接』起来,作为一个新的迭代器返回。
chain(iterable1, iterable2, iterable3, ...)
>>> from itertools import chain
>>> for item in chain([1, 2, 3], ['a', 'b', 'c']):
... print item
...
1
2
3
a
b
c
第二种
接收一个可迭代对象作为参数,返回一个迭代器:
chain.from_iterable(iterable)
>>> from itertools import chain
>>> string = chain.from_iterable('ABCD')
>>> string.next()
'A'
chain使用示例
itertools.chain()
方法可以用来简化这个任务。 它接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节。
>>> from itertools import chain
>>> a = [1, 2, 3, 4]
>>> b = ['x', 'y', 'z']
>>> for x in chain(a, b):
... print(x)
...
1
2
3
4
x
y
z
使用 chain()
的一个常见场景是当你想对不同的集合中所有元素执行某些操作的时候。
比如:
# Various working sets of items
active_items = set()
inactive_items = set()
# Iterate over all items
for item in chain(active_items, inactive_items):
# Process item
这种解决方案要比使用两个单独的循环更加优雅!
参考:link
以上是关于from itertools import chain:使用详解的主要内容,如果未能解决你的问题,请参考以下文章
itertools的chain.from_iterable和chain()的更简化解释
ImportError: cannot import name accumulate:如何在Python2中实现itertools的accumulate()?