下面是問題:在python中生成列表的所有組合
給定Python中的項目列表,我將如何去獲取項目的所有可能組合?
有這個網站的幾個類似的問題,那建議使用itertools.combine,但這隻返回的什麼,我需要一個子集:
stuff = [1, 2, 3]
for L in range(0, len(stuff)+1):
for subset in itertools.combinations(stuff, L):
print(subset)
()
(1,)
(2,)
(3,)
(1, 2)
(1, 3)
(2, 3)
(1, 2, 3)
正如你看到的,它僅返回按照嚴格的順序項目,不返回(2,1),(3,2),(3,1),(2,1,3),(3,1,2),(2,3,1)和(3,2) ,1)。有一些解決方法嗎?我似乎無法提出任何事情。
訂單在組合中無關緊要,(2,1)與(1,2) –
好問題。雖然技術上你可以寫你自己的功能來獲得這些組合。 – Sam