计算gc内容并打印最大gc内容及其密钥

时间:2015-02-24 13:42:14

标签: python string bioinformatics fasta rosalind

我在第9行收到错误“列表分配索引超出范围” 我必须获取具有最大gc内容的密钥并打印gc内容值以及密钥。 这只是我正在做的一个例子,而问题可能包含2个以上的序列。

d={"fff":'TTAGCCGAATTTGGC',"ddd":'TGATACTAGCGTAG'}
b=[]
a=[]
i=0 
for key in d:
    h=len(d[key])
    t=d[key].count('G')+d[key].count('C')
    content = (t*100)/h
    a[i]=content
    b[i]=key
    i+=1
val = max(a)
k = a.index(val)
print ("%s") % b[k]
print ("%f") % a[k]

1 个答案:

答案 0 :(得分:2)

与其他一些脚本语言相比,您无法通过分配超出范围的索引来扩展Python列表。要放大列表,您需要使用append方法,即替换:

a[i]=content
b[i]=key
i+=1

使用:

a.append(content)
b.append(key)

后者将做你需要的,并且更容易启动。