首页 > 解决方案 > 如何进行功能组合

问题描述

例如,我想做函数编写

我有这个double_list(list)功能

double_list([[1]]) >>> [[1],[1]]我想创建一个递归函数,例如将组成双重列表 n 次,recursion(doublelist, 2) >>> [[1],[1],[1],[1]]而不是这样做double_list(double_list([[1]]))我尝试了很多东西,但它们都没有在我得到的所有时间里都起作用。[[1],[1]]有没有一种递归方法可以在不使用任何模块的情况下做到这一点?

这是我尝试过的:

def recursion(k, lst):
if k > 0:
    return recursion(k-1, lst)
lst = double_list(lst)
return lst

标签: pythonlistfunction

解决方案


你可以试试

def double_list(ls):
    ls.extend([i[:] for i in ls])
    return ls

def recursion(k, lst):
    if k > 0:
        return recursion(k-1, double_list(lst))
    return lst
print(recursion(2, [[1]]))

将返回

[[1], [1], [1], [1]]

推荐阅读