相关疑难解决方法(0)

如何在不写20个if语句或制作20个列表/词典的情况下进行以下比较?

这个问题与生物学有关,所以对于那些知道氨基酸和密码子是什么的人来说,这太棒了!对于那些不这样做的人,我尽力说出来,以便你能理解我在说什么.

所以我有一个密码子列表,也可以称为3个字母的字符串,它由以下四个字母的组合组成:A,G,C,T即AAT,GAT,GCT等.每个密码子对应一个特定氨基酸,但有多个密码子可以对应相同的氨基酸.为了说明这一点,请查看以下链接:http://www.cbs.dtu.dk/courses/27619/codon.html.这应该说清楚.

对于我名单上的每个密码子,我想最终找出它对应的氨基酸.因此,我必须使程序首先将该密码子与我发布链接的密码子列表(总共64个可能的密码子)进行比较,然后我必须要求程序查看该密码子对应的氨基酸.但是,我无法找到一种快捷方法,无需为与给定氨基酸相对应的所有密码子制作一个列表并进行比较,或者编写20种不同的if语句.

我所拥有的密码子列表叫做mutated_codon.因此,我需要生成一个'for',程序将mutated_codon列表中的每个密码子进行比较,并将其与字典进行比较,并输出相应的氨基酸字母.为了做到这一点,我必须编写什么代码?我不熟悉用于检查字典中的值的语法.

这是我到目前为止基于建议的内容:

codon_lookup = {'GCT':'A','GCC':'A','GCA':'A','GCG':'A','TGT':'C','TGC':'C' ,'GAT':'D','GAC':'D','GAA':'E','GAG':'E','TTT':'F','TTC':'F',' GGT':'G','GGC':'G','GGA':'G','GGG':'G','CAT':'H','CAC':'H','ATT' :'我','ATC':'我','ATA':'我','AAA':'K','AAG':'K','TTA':'L','TTG':' L','CTT':'L','CTC':'L','CTA':'L','CTG':'L','ATG':'M','AAT':'N' "AAC':'N','CCT':'P','CCC':'P','CCA':'P','CCG':'P','CAA':'Q','CAG' :'Q','CGT':'R','CGC':'R','CGA':'R','CGG':'R','AGA':'R','AGG':' R','TCT':'S','TCC':'S','TCA':'S','TCG':'S','AGT':'S','AGC':'S' ,'ACT':'T','ACC':'T','ACA':'T','ACG':'T','GTT':'V','GTC':'V',' GTA':'V','GTG':'V','TGG'='W','TAT':'Y','TAC':'Y','TAA':'Z','TAG' :'Z','TGA':'Z'}

for c in mutated_codon:
   print codon_lookup[c]
Run Code Online (Sandbox Code Playgroud)

在我的输出中,我只得到与列表中最后一个密码子相对应的氨基酸的输出,最重要的是,我得到KeyError:4.任何想法可能是错的?

python dictionary list

4
推荐指数
2
解决办法
489
查看次数

标签 统计

dictionary ×1

list ×1

python ×1