2015-11-17 55 views
-1

以下是名單如何重排列兩個列表在Python

list = [["mo", "thu"], ["we", "fri"], ["mo", "mo"]] 
list2 = [["mo", "fri", "fri"], ["we", "we"]] 

所以這些列表來按隨機順序的兩個例子。我在這裏給出了兩個例子。我想要做的是計算這些列表可以被排列的所有可能的方式。在列表[1] *列表[2] *列表[3]的級別上。所有可能的組合。較小的例子,我想什麼,達到的是:

list3 = [["we", "thu"],["fri", "thu"]] 

- >

[["we", "fri"], ["we", "thu"], ["thu", "fri"], ["thu", "thu"]] 

此外,名單是隨機的所以列表中的元素或嵌套列表的量能變化。我可以通過很多代碼蟒蛇這一點,但我希望有一個更簡單的方法來。

乾杯

+0

根據你的'list3'例子,我假設順序沒有關係? – brittenb

+0

不,訂單並不重要 –

回答

8

你想要什麼還不清楚,但也許你想要的是你的列表的笛卡兒積?如果是這樣,它是非常簡單的:

list3 = [["we", "thu"],["fri", "thu"]] 
import itertools 
final_list = [list(v) for v in itertools.product(*list3)] 
## [['we', 'fri'], ['we', 'thu'], ['thu', 'fri'], ['thu', 'thu']] 
+0

這正是我想要的。非常感謝! –

+0

不客氣:-) –