2
특정 키가 주어진 사전의 값에서 가능한 모든 문자열을 가져 오려고합니다. 예를 들어 'A'는 'aaa', 'aba'또는 'aac'과 'B'가 'bbb', 'bab'또는 'bbc'등일 수 있음을 나타냅니다.입력 문자열에 주어진 사전 값의 가능한 모든 조합. Python
그것이 내가 코드를 쓰기 시작 가능한 문자열
import itertools
in_ = 'ABC'
D = {'A':['aaa','aba','aac'],'B':['bbb','bab','bbc'],'C':['ccc','cac','ccb']}
#out_ = ['aaabbbccc','ababbbccc','aacbbbccc','aaababccc','aaabbcccc','aaabbbcac','aaabbbccb'...]
대부분의 조합을 보여줍니다 출력의 예를 제공하지만 정말 지저분하기 시작하고 난 itertools 또는 더 파이썬 뭔가를 사용하는 방법이 있다고 생각 목표를 달성하십시오
output = []
for char in in_:
out_string = ''
while char:
for v in D[char]:
while v:
for char2 in in_:
out_string
#not pythonic . . .
정말 감사합니다. 나는 itertools가가는 길을 알았지 만 그 제품이 그 결과를 줄 수 있다는 것을 알지 못합니다. –
* iterables가 iterables에 대해 수행하는 작업은 무엇입니까? –
'*'은 [언 패킹 연산자] (https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists)입니다. 따라서'iterables '요소의 수를 미리 알 필요가 없다는 점을 제외하면'product (* iterables)'는'product (iterables [0], iterables [1], ...)와 동일합니다. – senshin