在python中查找列表的所有子集

时间:2017-12-08 05:25:57

标签: python-3.x list powerset

我需要创建一个将传递一个列表的函数,并创建一个包含原始列表的所有子集的新列表。我必须从头开始编写它,所以不要从itertools导入。

例如:

给出的列表与[1,2,3]类似,我想要输出

[[1],[2],[3],[1,2],[2,3],[1,3],[1,2,3],[]]

1 个答案:

答案 0 :(得分:2)

from itertools import combinations
s = set([1,2,3])
sum(map(lambda r: list(combinations(s, r)), range(1, len(s)+1)), [])

生成元组值,但它足够接近你。