我在第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]
答案 0 :(得分:2)
与其他一些脚本语言相比,您无法通过分配超出范围的索引来扩展Python列表。要放大列表,您需要使用append
方法,即替换:
a[i]=content
b[i]=key
i+=1
使用:
a.append(content)
b.append(key)
后者将做你需要的,并且更容易启动。