我需要创建一个将传递一个列表的函数,并创建一个包含原始列表的所有子集的新列表。我必须从头开始编写它,所以不要从itertools导入。
例如:
给出的列表与[1,2,3]
类似,我想要输出
[[1],[2],[3],[1,2],[2,3],[1,3],[1,2,3],[]]
答案 0 :(得分:2)
from itertools import combinations
s = set([1,2,3])
sum(map(lambda r: list(combinations(s, r)), range(1, len(s)+1)), [])
生成元组值,但它足够接近你。