python - 如何进行功能组合
问题描述
例如,我想做函数编写
我有这个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
解决方案
你可以试试
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]]
推荐阅读
- php - 为什么我的 Bootstrap 模态窗口在 php 上不起作用?当我尝试打开模式窗口时,它不会显示
- python-3.x - 是否可以在不使用类变量的情况下在运行时在实例上创建 pyqtSignals?
- firebase - 错误存储/未知将图片上传到 Firebase 存储
- java - RxJava break onNext
- c# - 您可以在加急模式下检索 Amazon Glacier 库存吗?
- python - Soundfile 库,读取文件时的幅度范围
- jsonschema - 如何使用 JSON Schema 验证具有随机名称的子属性的 JSON 属性
- python - 用 splinter 填写 web 表单
- spring - 未找到使用 AJAX 的 Spring MVC 返回页面
- linux - 从 linux http 服务器执行 wget 所需的设置