Python – Itertools.chain.from_iterable()
Python 的 Itertool 是一个模块,它提供了在迭代器上工作以生成复杂迭代器的各种函数。该模块可作为一种快速、高效的内存工具,可单独使用或组合使用以形成迭代器代数。
注意:更多信息请参考Python Itertools
itertools下的功能可以分为3类
- 产生无限迭代器的函数
- 产生终止于最短输入序列的迭代器的函数
- 产生组合生成器的函数
Chain.from_iterable() 方法
函数chain.from_iterable()
属于终止迭代器的范畴。此函数将单个可迭代对象作为参数,并且输入可迭代对象的所有元素也应该是可迭代的,并且它返回包含输入可迭代对象的所有元素的扁平可迭代对象。
Syntax :
chain.from_iterable(iterable)
示例 #1:
# Importing chain class from itertools
from itertools import chain
# Single iterable containing iterable
# elements(strings) is passed as input
from_iterable = chain.from_iterable(['geeks',
'for',
'geeks'])
# printing the flattened iterable
print(list(from_iterable))
输出 :
[‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ‘e’, ‘k’, ‘s’]
示例 #2:
# Importing chain class from itertools
from itertools import chain
# Single iterable containing iterable
# elements(strings and list) is passed
# as input
from_iterable = chain.from_iterable(['geeks',
'for',
'geeks',
['w', 'i', 'n', 's']])
# printing the flattened iterable
print(list(from_iterable))
输出 :
[‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘w’, ‘i’, ‘n’, ‘s’]