所需要的是一个返回列表的函数,其中包含输入列表中元素的所有可能组合,但以函数样式编写。也就是说,没有赋值,循环......欢迎递归。
例如,我有一个类似的,但它不返回所有值:
def f (s, n):
return [s[:n+1]]+[s[n+1:]]
def f2 (s, n):
return [] if n > len(s)-1 else f(s,n) + f2(s,n+1)
print(f2([1,2,3,0))
回报:
[[1], [2, 3], [1, 2], [3], [1, 2, 3], []]
我需要:
[[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]