例如,我有一系列连续的整数[1, 2, 3]
.我想创建一个遍历集合的所有子集的迭代器.在这种情况下[], [1],...,[1,2,3]
.我怎么能这样做?
如果您需要,该itertools
文档包含名称下的此构造的配方powerset
.
from itertools import chain, combinations def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable) return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))