【发布时间】:2020-02-24 17:50:56
【问题描述】:
我有一个代码如下,我需要它来使用 yield 解压列表:
def flat_list(array):
d=[]
for i in array:
if not isinstance(i, list):
yield i
else:
flat_list(i)
例如,flat_list([1, [2, 2, 2], 4]) 应该返回 [1, 2, 2, 2, 4]。我的代码返回[1, 4]。
我从之前的question 了解到,我不仅需要递归调用一个函数,还需要指定它应该做什么。
但是如何将flat_list(i) 项目添加到yield 项目?类似flat_list(i).extend(yield i)。
【问题讨论】:
-
d未使用。 yield 时不需要在函数中填写列表
标签: python recursion nested yield