2017-03-11 47 views
0

我有以下列表。我要盡一切可能的單詞的列表,並附有這個百通,元音+輔音+元音+輔音做一個元音和輔音模式的所有可能的單詞列表

consonants=["b","c","k"] 
vowels=["a","o"] 
word1=vowels,consonants,vowels,consonants 

我用下面的代碼,但它不遵循的模式

def generate (word): 
     import itertools 
     for i in itertools.permutations(consonants): 
      for j in itertools.permutations(vowels): 
        print (''.join(i),''.join(j)) 
+1

你有'def生成(單詞):'但你從不用'單詞'做任何事情。它有什麼意義? – roganjosh

回答

3
from itertools import product 
from pprint import pprint 

pprint([''.join(t) for t in product(vowels, consonants, vowels, consonants)]) 

會給:

['abab', 
'abac', 
'abak', 
'abob', 
'aboc', 
'abok', 
'acab', 
'acac', 
'acak', 
'acob', 
'acoc', 
'acok', 
'akab', 
'akac', 
'akak', 
'akob', 
'akoc', 
'akok', 
'obab', 
'obac', 
'obak', 
'obob', 
'oboc', 
'obok', 
'ocab', 
'ocac', 
'ocak', 
'ocob', 
'ococ', 
'ocok', 
'okab', 
'okac', 
'okak', 
'okob', 
'okoc', 
'okok'] 
0
[v1 + c1 + v2 + c2 for v1 in vowels for c1 in consonants for v2 in vowels for c2 in consonants] 

注意確定是否有更好的方法。

編輯:Elmex80s的答案是更好的方法。

相關問題