2013-04-05 3 views
1

사전의 모든 키에 액세스하여 키인 (ATGC)과 같은 시퀀스에 "GC"가 있는지 확인하고 싶습니다. 문자열에 "GC"가 포함되어 있는지 확인하려면 어떻게 키에 액세스 할 수 있습니까?사전의 키에 액세스

많은 감사!

+0

키는 고유하므로 항상 많지는 않습니까? – squiguy

+0

그래서 ATGC, AATT, GGGC, TATA 같은 키를 가지고 있다면 얼마나 많은 키에 GC가 있는지 알고 싶습니다. 내가 할 수 있을까? – brooklynchick

+0

첫 번째 문장은 의미가 없습니다. 특히이 부분은 :'키가되는 서열 (ATGC)에 "GC"가 있는지 확인하십시오. –

답변

3
matches = [ k for k in yourdictionary.keys() if 'gc' in k.lower() ] 
number_of_matches = len(matches) 

당신은 또한 (발견되지 않는 경우는 -1을 반환)를 regex 또는 string.find을하거나 string.count 수 -하지만 if substring in string 작품과는 점을 설명하기 위해 청소기입니다. 또한 소문자로 키를 캐스팅하고 소문자 문자열과 비교하므로 대소 문자를 구분하지 않는 일치를 효과적으로 수행합니다.

+0

HUN님께 고마워요. – brooklynchick

+0

GCpercent = (number_of_matches/len (yourdictionary)) * 100과 일치하는 항목을 기반으로 발견 된 GC의 수를 계산하려면? – brooklynchick

+1

파이썬 2.x에서 파이썬 3에서 작동 할 것이라고 생각합니다. 먼저 숫자를 부동 소수점으로 변환해야합니다. http://stackoverflow.com/a/5998010/442650 및 http://www.informit.com/articles/article.aspx?p=1439189 –

관련 문제