只需使用
itertools.combinations。例如:
import itertoolslst = [1, 2, 3]combs = []for i in xrange(1, len(lst)+1): combs.append(i) els = [list(x) for x in itertools.combinations(lst, i)] combs.append(els)
现在
combs保留此值:
[1, [[1], [2], [3]], 2, [[1, 2], [1, 3], [2, 3]], 3, [[1, 2, 3]]]
是的,它与您提供的示例输出略有不同,但是在该输出中,您并未列出所有可能的组合。
我在每种尺寸的实际列表 之前 列出了组合的大小,如果您需要的只是组合(没有大小,如示例输出中所示),然后尝试使用其他版本的代码:
import itertoolslst = [1, 2, 3]combs = []for i in xrange(1, len(lst)+1): els = [list(x) for x in itertools.combinations(lst, i)] combs.extend(els)
现在
combs保留此值:
[[1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)