2013-04-05 61 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