2017-03-11 4 views
0

다음 목록이 있습니다. 그리고 난 다음 코드를 사용하고 있지만, 패턴을 따르지 않는 모음 + 자음 + 모음 + 자음모음과 자음으로 가능한 모든 단어의 목록을 작성하십시오

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

하는이 patern입니다 함께 가능한 모든 단어의 목록을 만들고 싶어

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

당신은''def generate (word) :'를 가지고 있지만''단어 ''로는 아무것도하지 않습니다. 그것이 갖는 의미는 무엇입니까? – 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] 

더 좋은 방법이 있는지 확인하십시오.

편집 : Elmex80의 답변이 더 좋은 방법입니다.

관련 문제