使列表的所有可能组合

使列表的所有可能组合,第1张

使列表的所有可能组合

只需使用

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]]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存