【发布时间】:2019-10-15 07:29:42
【问题描述】:
我正在学习 python 递归。为了练习,我正在给一个任务来查找列表的所有子集。例如函数:
subset([1,2)] should return [[1,2],[1],[2],[]]
我可以在递归的帮助下让我的函数打印这些结果
def subset(List):
print(List)
n = len(List)
if n > 2:
for i in range(n):
subset(List[:i]+List[i+1:])
if n == 2:
subset([List[0]])
subset([List[1]])
if n == 1:
subset([])
pass
L = [1,2]
test = subset(L)
打印语句打印:
[1, 2], [1], [], [2], []
我希望拥有不打印的功能,而是将其返回到所需结果给出的列表中。
我希望你能接受。
【问题讨论】: