2

我有一个返回列表的函数,我想在使用紧凑的生成器表达式(或任何漂亮而紧凑的东西)在列表上调用时合并该函数的输出

假设我有一个 def foo(bar):where bar 是整数,它在一些疯狂的复杂计算之后返回一个列表。

foo(1)=[9,1,5]
foo(2)=[1]
foo(3)=[7,1]

arr=[1,2,3]

arr=[9,1,5,1,7,1]在一行代码之后,我怎样才能获得希望?

arr=[foo(x) for x in arr]给了我[[9,1,5],[1],[7,1]]
而且我不想再写一行来推出列表中的列表。

4

1 回答 1

6
from itertools import chain
result = list(chain.from_iterable(foo(x) for x in arr))
于 2013-06-20T08:45:23.373 回答