2014-01-18 58 views
0

在Python中創建n元組列表最簡單的方法是什麼?如何在Python中創建N元組?

例如,如果我想創建一個數n(對於如3):

我想生成下面的一組元組:

(1,1,1) (1,1,2) (1,1,3) (2,1,1) (2,1,2) (2,1,3) (3,1,1) (3,1,2) (3,1,3) 
(1,2,1) (1,2,2) (1,2,3) (2,2,1) (2,2,2) (2,2,3) (3,2,1) (3,2,2) (3,2,3) 
(1,3,1) (1,3,2) (1,3,3) (2,3,1) (2,3,2) (2,3,3) (3,3,1) (3,3,2) (3,3,3) 

回答

5

使用itertools.product

>>> from itertools import product 
>>> list(product(range(1, 4), repeat=3)) 
[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3), (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 1), (3, 3, 2), (3, 3, 3)] 
+0

你能詳細說明這是如何工作的嗎? – Archana

+0

@Archana它相當於3個嵌套for循環,閱讀鏈接的文檔。 –

+0

謝謝!驚人。你超級快! – Archana

3
l = [1, 2, 3] 
from itertools import product 
print [item for item in product(l, repeat=3)]