您提到过展平嵌套列表的现有解决方案在 [[[1, 2, 3], [ 等结构上失败4, 5]], 6]。此查询探讨了替代方法的可行性,特别是使用迭代器。
建议的方法:
建议的解决方案涉及利用生成器函数来简化扁平化过程并提高性能.
Python 2实现:
from collections import Iterable def flatten(xs): for x in xs: if isinstance(x, Iterable) and not isinstance(x, basestring): for item in flatten(x): yield item else: yield x
Python 3 实现:
from collections.abc import Iterable def flatten(xs): for x in xs: if isinstance(x, Iterable) and not isinstance(x, (str, bytes)): yield from flatten(x) else: yield x
迭代器的优点:
结论:
所提出的利用迭代器的方法提供了一种有效且高效的方法来展平不规则列表列表。与其他方法相比,它解决了任意嵌套深度的情况,并避免了递归或手动展平技术的缺点。
以上是Python 中迭代器如何有效地展平不规则嵌套列表?的详细内容。更多信息请关注PHP中文网其他相关文章!