キーリストにない文字(「X」など)がある場合は、それを避けて何もしないで続行するにはどうすればよいですか?私はKeyError 'X'を得ています。私が見ているシーケンスにXがあるからです。Pythonでelse conditionを使用してKeyErrorを削除する方法
keys = ["A", "C", "D", "E"]
for char in keys:
counts[char] = 0
for line in gpcr:
if line.startswith(">"):
line = line.replace(' ','')
header = line.split()
number = header[0].split('|')
print "Id:",number[2]
continue
fo.write(number[2])
fo.write('\n')
for char in line.strip():
if char
counts[char] += 1
total = float(sum(counts.values()))
toReturn = ''
for key in keys:
aa_per = (counts[key]/total)*100
toReturn = toReturn + '%.2f'%aa_per + '%'+ '\t'
fo.write(number[1])
fo.write('\n')
fo.write(''.join(str(x) for x in toReturn))
fo.write('\n')
print toReturn
fo.close()
私たちはそれを理解するためにあなたの質問を言い換えてください。 – Psytho
コードを関数に変更し、 'try'と' except'を使ってエラーを回避します。質問を誤解していない限り? –
私はカウントをしているシーケンスを持っています。シーケンスはこのようなものです "AAAACCCDEAAAAX" 私はカウントを避けたい "X"があります。私のコードでは "KeyError: 'X'" – KBnd