概述
// 无限循环迭代器cycle
cycle('ABCD') --> A B C D A B C D ...
# itertools.chain(*iterables) 创建一个迭代器
def chain(*iterables):
# chain('ABC', 'DEF') --> A B C D E F
for it in iterables:
for element in it:
yield element
# classmethod chain.from_iterable(iterable) 类似chain()
def from_iterable(iterables):
# chain.from_iterable(['ABC', 'DEF']) --> A B C D E F
for it in iterables:
for element in it:
# yield 相当于return, 只是它返回的是一种iterator
yield element
# output: [{'a': 0}, {'b': 1}, {'c': 2}, {'d': 3}]
ite = itertools.chain.from_iterable(
[
[{
'a':0}, {
'b':1}],
[{
'c':2}],
[{
'd':3}]
]
)
print(list(ite))
总结
所以当结构嵌套多层的时候,可以用这个迭代器的方法高效遍历。
可以继续学习的点:
迭代器结合map,用法更高效。
https://docs.python.org/zh-cn/3/library/itertools.html#itertools.chain
总结
以上是编程之家为你收集整理的Itertools in python全部内容,希望文章能够帮你解决Itertools in python所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧