使用下面的列表为例:排列组合拆分成两个串
a = ["cat", "dog", "mouse", "rat", "horse"]
我可以用itertools.permutations
print (list(itertools.permutations(a, 2)))
[('cat', 'dog'), ('cat', 'mouse'), ('cat', 'rat'), ('cat', 'horse'), ('dog', 'cat'), ('dog', 'mouse'), ('dog', 'rat'), ('dog', 'horse'), ('mouse', 'cat'), ('mouse', 'dog'), ('mouse', 'rat'), ('mouse', 'horse'), ('rat', 'cat'), ('rat', 'dog'), ('rat', 'mouse'), ('rat', 'horse'), ('horse', 'cat'), ('horse', 'dog'), ('horse', 'mouse'), ('horse', 'rat')]
但是得到的所有排列,如果我需要得到这个输出以下格式是包含所有项目的列表,其中包含所有项目分为两个字符串,如下所示:
[["cat", "dog mouse rat horse"], ["cat dog", "mouse rat horse"], ["cat dog mouse", "rat horse"], ["cat dog mouse rat", "horse"]]
是您的预期输出,即使与排列? –
是你想要的输出吗?例如,不是[“狗”,“猫鼠鼠马”]是否有效? – BPL
@BPL是的,你是对的,谢谢 – ade1e