我需要的是一次为两个元素创建组合。
如果列表包含: seq = ['A', 'B', 'C']
输出将是 com = [['A', 'B'], ['A', 'C'], ['B', 'C']]
所有这些都没有 itertools.combinations
方法。
我使用以下代码进行排列。但是我怎样才能修改它以使其与组合一起使用呢?
def permute(seq):
if len(seq) <= 1:
perms = [seq]
else:
perms = []
for i in range(len(seq)):
sub = permute(seq[:i]+seq[i+1:])
for p in sub:
perms.append(seq[i:i+1]+p)
return perms
原文由 user3104548 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不想使用
itertools
,则使用 记录的纯 Python 等效项: