2013-04-05 59 views
1

如果我想訪問字典中的所有密鑰,並檢查(ATGC)這樣的密鑰是否具有「GC」。我如何訪問密鑰來檢查它是否包含字符串「GC」?在字典中訪問密鑰

非常感謝!

+0

鑰匙是獨一無二的,所以它不會總是最多一個? – squiguy 2013-04-05 04:22:23

+0

所以如果我有一堆像ATGC,AATT,GGGC,TATA這樣的密鑰。我想知道有多少個密鑰在其中。我可以這樣做嗎? – brooklynchick 2013-04-05 04:23:36

+0

你的第一句話沒有意義。特別是這部分:'並檢查是否(ATGC)這樣的密鑰是否有「GC」。# – 2013-04-05 04:23:47

回答

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

你也可以做一個regexstring.find(返回-1如果未找到)或string.count - 但if substring in string作品,是清潔劑來說明這一點。我還將鍵轉換爲小寫字母,並與小寫字符串進行比較,以便有效地進行不區分大小寫的匹配。

+0

非常感謝你。 – brooklynchick 2013-04-05 04:29:02

+0

如果我想計算基於匹配找到了多少GC,我會做GCpercent =(number_of_matches/len(yourdictionary))* 100嗎? – brooklynchick 2013-04-05 04:32:40

+1

我認爲這將在python 3下工作。在python 2.x下,你需要先將數字轉換爲浮點數。請參閱http://stackoverflow.com/a/5998010/442650和http://www.informit.com/articles/article.aspx?p=1439189 – 2013-04-05 04:40:33