나는 여러 개의 유전자를 가진 사전을 가지고있다. 튜플 (zip())은 각 사이트에서 뉴클레오티드를 제공합니다. 예 : (A, A, A), (T, T, G) 등등. 각 사이트에서 뉴클레오타이드의 수를 세지려고합니다. 사이트 1에는 3 개의 A가 표시되고 사이트 2에는 2 개의 T와 1 개의 G가 표시됩니다. 코드를 실행하면 A 만 추가됩니다. 대신에 발전기 표현의 itertools.chain()
를 사용하여, @Steven Rumbalski이 제안 또는튜플을 반복하여리스트의 값을 카운트
>>> from collections import Counter
>>> lis=[('A', 'A', 'A'), ('T', 'T', 'G')]
>>> Counter(y for x in lis for y in x)
Counter({'A': 3, 'T': 2, 'G': 1})
:
List = tuple(zip(*myDict.values()))
A = 0
T = 0
G = 0
C = 0
site = 0
for value in List:
site +=1
if 'A':
A += 1
elif 'T':
T += 1
elif 'G':
G += 1
else:
C =+ 1
print 'Site:', site
print 'A:', A
print 'T:', T
print 'G:', G
print 'C:', C
관련 :리스트로 사전 위치 값을 분석 (http://stackoverflow.com/q/12633774) 사전 사용 파이썬 유전자 돌연변이를 계산 (HTTP//stackoverflow.com/q/12631052) 및 [정규식을 사용하여 파이썬에서 사전으로 데이터 변환하기] (0120-336-301) –