インデックスエラーが見つかった場合、文字列を変数に渡すにはどうすればよいですか?コード検討:リストのインデックスが範囲外の場合に変数を代入するpythonエラー
for l1, l2 in zip(open('file1.list'), open ('file2.list')):
a=fasta1[int(l1)]
b=fasta2[int(l2)]
alignments = pairwise2.align.globalxx(a,b)
top_aln = alignments[0]
aln_a, aln_b, score, begin, end = top_aln
print aln_a+'\n'+aln_b
outfast1 = aln_a
outfast2 = aln_b
これらの機能の数がインポートされなければならない(pairwise2アライン)、 をけれどもfile.listsが使用され、1行に1つのシーケンス番号(テキスト及び数字)を有する単一の列のテキストファイルでありますfasta1とfasta2のテキストファイルから抽出します。
基本的には、各リストコマンド(a=fasta1[int(l1)]
)にエラーがない場合(idは範囲内にある)、通常通り(その反復に対して変数aとbを割り当てます)、そうでなければ「GGG」のような「」変数いくつかのプレースホルダーテキスト:「
for l1, l2 in zip(open('file1.list'), open ('file2.list')):
try:
a=fasta1[int(l1)]
except IndexError,e:
a="GGG"
continue
try:
b=fasta2[int(l2)]
except (IndexError):
b="CCC"
continue
は、このコードはPythonの腕前の私の不足与えられた驚くべきことではありません(上記のコードに統合)かなりない仕事を、行いますが、私はドンなぜか分かりません。プリントアウトにもかかわらず、実際にはテキスト出力はありません...私はこの権利について考えていますか?インデックスにエラーがない場合は、最初にaとbの変数を使用してペアワイズアライメントを行い、テキストをstdoutに出力します。
アイデア?
字下げは正しいですか? except suiteの '' 'continue'''文はありますか? – wwii
あなたは['' '' '' '' ''(https://docs.python.org/3/reference/simple_stmts.html#the-continue-statement)が実行されると、その後のすべてがスキップされ、次の反復が始まりますか? – wwii
私はtry/exceptと一致させるべきだと思いましたか? Pythonはその字下げ構造にフラグを立てませんが、obvは動作しません。インデックスエラーがない場合は続行します – user95146