2016-02-04 78 views
0

我試圖創建與itertools其中Python腳本:迭代組合,其中輸出字符串是按照特定的順序

我有4個表,每個包含單一的字符:

li1 = ["a", "b", "c"] 
li2 = ["d", "e", "f"] 
li3 = ["q", "w", "e"] 
li4 = ["t", "y"] 

,我想輸出以下的所有可能的排列,在這個特定的順序:

li1 + li2 + li3 + li1 + li4 + li1 

其中li是一個字符串/字符列表,順序/次序不能改變

作爲一個新手,所有我能想到的是通過每個列表迭代的循環,但我不知道怎麼做了4次同時

任何幫助將不勝感激

+0

您的「列表」是集合。 – DSM

+1

您是否閱讀了[itertools文檔](https://docs.python .ORG/2.7 /庫/ itertools.html?突出= itertools#模塊itertools)?它應該有所幫助。 – Monkpit

+0

您可以將'li1'稱爲列表(實際設置)和列表中的項目。它是什麼? – RickyA

回答

3

您可以使用itertools.product()此:

import itertools 

li1 = ["a","b","c"] 
li2 = ["d","e","f"] 
li3 = ["q","w","e"] 
li4 = ["t", "y"] 

for elem in itertools.product(li1, li2, li3, li1, li4, li1): 
    print elem 

(我已經採取改變你套進名單的自由。但是,該代碼也將與集合一起工作,但排列順序將有所不同。)

+0

謝謝!工作就像一個魅力:) – cemshid

相關問題