【发布时间】:2017-11-13 09:49:38
【问题描述】:
我想将此函数重写为常规循环:
def combine(n,k):
if k == 0:
return [[]]
return [pre + [i] for i in range(1, n + 1) for pre in combine(i - 1, k - 1)]
因为我无法调试循环的每个步骤。例如,pre 在内部循环中存储了什么?
这是一个任务: 给定两个整数 n 和 k,返回 1 ... n 中 k 个数字的所有可能组合。
【问题讨论】:
-
你卡在哪里了?你尝试了什么?
-
用递增的值调用它并打印结果?
-
那是list comprehension,在我看来你的缩进是错误的。
标签: python loops for-loop recursion