在我正在处理的一些代码中,我正在处理生成许多需要组合的单级深度嵌套迭代器。作为一个可行的解决方案,我已经将这些部分中的每一个都封装在了chain(*(one_level_nested))
其中chain
(来自广受欢迎的itertools模块)。然而,多次重复这个表达让我觉得这个表达很丑陋,可能会被误导;
作为一级深度生成代码的一个例子,它们中的大多数都是按以下方式构建的:[j for j in something_needing_i(i)] for i in range(5)
因此我最终得到chain(*([j for j in something_needing_i(i)] for i in range(5)))
.
有没有更好的方法,特别是在不解包的情况下生成迭代器并且具有可比的效率(或理想情况下,更好的效率)?
莫回无
相关分类