ITMISS
首先处理最后一个元素 ( n-1) 允许您不使用给定的函数签名传递中间结果:def subsets(n, k): if n < k or k < 0: return [] if k == n: return [list(range(k))] return subsets(n-1, k) + [s+[n-1] for s in subsets(n-1, k-1)]>>> subsets(3, 2)[[0, 1], [0, 2], [1, 2]]>>> subsets(4, 2)[[0, 1], [0, 2], [1, 2], [0, 3], [1, 3], [2, 3]]>>> subsets(4, 3)[[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]]