从 itertools.chain 对象获取一个数组

zku*_*rtz 8 python python-itertools

假设我有list_of_numbers = [[1, 2], [3], []]并且想要更简单的对象列表对象x = [1, 2, 3]

按照这个相关解决方案的逻辑,我做

list_of_numbers = [[1, 2], [3], []]
import itertools
chain = itertools.chain(*list_of_numbers)
Run Code Online (Sandbox Code Playgroud)

不幸的是,chain这并不完全是我想要的,因为(例如)chain在控制台上运行会返回<itertools.chain object at 0x7fb535e17790>.

f如果我这样做x = f(chain)然后x在控制台上输入我得到的功能是什么[1, 2, 3]

更新: 实际上我最终需要的结果是array([1, 2, 3])。我在所选答案的评论中添加一行来解决这个问题。

spa*_*c24 8

list。如果你list(chain)这样做应该可行。但仅将其用于调试目的,通常效率可能较低。

  • 这怎么这么低效呢? (3认同)