import itertools
a = [[2, 3], [3, 4]]
b = [[5, 6], [7, 8], [9, 10]]
c = [[11, 12], [13, 14]]
d = [[15, 16], [17, 18]]
e = [[12,16],[13,17],[14,18],[15,19]]
q=[]
q=list(itertools.combinations((a, b, b,c, c, d,e),7)
print q
如何使用itertools的組合函數正確使用列表一次,b 2次不更換,c 2次不更換,以及d和e每次一次?使用itertools從列表中進行組合
[[[2, 3],[5, 6],[7, 8],[11, 12],[13, 14],[15, 16],[12,16]],
[[2, 3],[5, 6],[7, 8],[11, 12],[13, 14],[15, 16],[13,17]],
[[2, 3],[5, 6],[7, 8],[11, 12],[13, 14],[15, 16],[14,18]],
[[2, 3],[5, 6],[7, 8],[11, 12],[13, 14],[15, 16],[15,19]],
[[2, 3],[5, 6],[7, 8],[11, 12],[13, 14],[15, 16],[12,16]],...
[[3, 4],[7, 8],[9, 10],[11, 12], [13, 14],[17, 18],[15,19]]]
是兩個從'平b'是否有更換? –
我不確定我是否理解你在這裏想要的東西(你能給出第一個例子的輸出還是要確定的東西?),但是如果你將'itertools.combinations'包裝在'list'中以獲得相當數量的輸入,你幾乎保證吹噓你的記憶。輸出的數量大致增長爲「O(n!)」(階乘增長);您通常需要逐個迭代組合,而不是一次全部存儲它們。 – ShadowRanger
沒有替換, –