python - itertools 的 chain.from_iterable 和 chain() 的更简化解释

标签 python python-2.7 python-3.x python-itertools chain

您能否对 itertools 中的 chain()chain.from_iterable 这两个方法给出更简单的解释?

我搜索了知识库和 python 文档,但我很困惑。

我是 python 新手,这就是为什么我要求对此进行更简化的解释。

谢谢!

最佳答案

您可以链接序列以形成单个序列:

>>> from itertools import chain

>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> list(chain(a, b))
[1, 2, 3, 'a', 'b', 'c']

如果ab在另一个序列中,则不必解压它们并将它们传递给chain,您可以传递整个序列至 from_iterable:

>>> c = [a, b]
>>> list(chain.from_iterable(c))
[1, 2, 3, 'a', 'b', 'c']

它通过迭代主序列的子序列来创建一个序列。这有时称为展平列表。如果您想展平列表列表的列表,则必须自己编写代码。 Stack Overflow 上有很多相关问题和解答。

关于python - itertools 的 chain.from_iterable 和 chain() 的更简化解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43151271/

相关文章:

Python 3.5 BytesIO 错误

Python在函数中使用 "global"返回新变量

python - for循环被用作while循环(python)

python - 发生了什么 b=a[ :] in python?

python - 如果我在当前类中有一个同名函数,我该如何调用父方法(如果可能)

javascript - Pyodide languagePluginLoader 未定义

带有麦克风输入的 Python Librosa

python - peewee:过滤从多对多关系中选择查询结果

python - 如何在 PySide/PyQt 的屏幕中央制作一个小部件?

python - 如何像 R 一样在 scikit-learn 中获得回归摘要?