2017-02-26 3 views
1

나는 생물 정보학 문제를 풀려고 노력하고있다. 기본적으로 사용자는 정수를 입력하고 귀속 된 정수의 길이 인 A, C, G, T의 모든 가능한 순열을 출력합니다. 정수는 예를 들어 4 클 수 있습니다 :파이썬에서 가능한 모든 순열을 어떻게 생성합니까?

만약 사용자 입력이, 내가 출력 :

['AA', 'AC', 'AG', 'AT', 'CA', 'CC', 'CG', 'CT', 'GA', 'GC', 'GG', 'GT'] 

만약 사용자 입력 5, I는 출력 :

['AAAAA', 'AAAAC', 'AAAAG', 'AAAAT', 'AAACA'.....'TTTGT', 'TTTTA', 'TTTTG', 'TTTTT'] 

당신을 수행 python 2.7에서이 함수를 만드는 법을 알고 있습니까?

+1

는'itertools' 모듈이하는 기능이있다. https://docs.python.org/2/library/itertools.html#itertools.permutations – GarethPW

+0

@GarethPW 올바른 함수가 아니며 'AA'와 같은 요소를 생성하지 않습니다. – Arman

+0

순열은 아니지만 반복적 인 조합을 원합니다. –

답변

3

당신은 product이 필요합니다

l = "ACGT" 

from itertools import product  
print([''.join(s) for s in product(l, repeat=2)]) 
# ['AA', 'AC', 'AG', 'AT', 'CA', 'CC', 'CG', 'CT', 'GA', 'GC', 'GG', 'GT', 'TA', 'TC', 'TG', 'TT'] 
+0

많이 고마워요 !!! –