2014-11-11 1 views
1

목록 목록에서 단어 목록을 생성 장소 등등. 목록 'A'에 의해 생성 가능한 모든 단어는 다음과 같습니다내가 좋아하는, 문자의 목록의 목록하여 단어 목록을 생성 할 문자

ade 
adf 
bde 
bdf 
cde 
cdf 

나는하여이 목록을 생성하고 :

for i in a[0]: 
    for j in a[1]: 
     for k in a[2]: 
      print i+j+k 

이 코드는 list(i.e. len(A))의 고정 길이 잘 작동합니다. 나는 어떤 크기든지의 명부에 의하여 wordlist를 생성 할 수있는 generalize 부호를 쓰고 싶다.

+0

질문이 명확하지 않은 경우 A : [[ 'w', 'x', 'y'], [ 'z']] 또는 A = [[ –

+0

내 대답을 확인하십시오. 그게 도움이된다면, [i, b], [d ','e '], ['k '], ['l ' 수락] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) 그것 –

답변

3

당신은 itertools.product 이것을 수행 할 수 있습니다 product 방법은 하위리스트의 요소의 직교 제품을 계산으로이 관계없이 하위 목록의 길이의 작동

>>> from itertools import product 
>>> characters = [['a','b','c'],['d'],['e','f']] 
>>> [''.join(item) for item in product(*characters)] 
['ade', 'adf', 'bde', 'bdf', 'cde', 'cdf'] 

. 또한, 우리는 파이썬 *characters 매직의 서브리스트를 전달하기 때문에, 임의의 수의 서브리스트를 전달할 수 있습니다.

+1

실수 편집에 사과드립니다. – ha9u63ar

관련 문제