小编Kam*_*nov的帖子

python中使用yield的嵌套列表的递归问题

我有以下代码,我需要它使用yield来解压缩列表:

def flat_list(array):
    d=[]
    for i in array:
        if not isinstance(i, list):
            yield i
        else:
            flat_list(i)
Run Code Online (Sandbox Code Playgroud)

例如,flat_list([1, [2, 2, 2], 4])应该返回[1, 2, 2, 2, 4]。我的代码返回[1, 4]

从上一个问题中我了解到,我不仅需要递归调用一个函数,而且还需要指定它应该做什么。

但是如何将flat_list(i)项目添加到yield项目中?有点像flat_list(i).extend(yield i)

python recursion yield nested

0
推荐指数
1
解决办法
33
查看次数

标签 统计

nested ×1

python ×1

recursion ×1

yield ×1