現在、ファイルから巨大な文字列を取得するコードがあります。特定の文字列「GCAA」の出現をカウントし、出現回数を返します。次に、maptrans を介して特定の文字を置き換えます。次に、その文字列「GCAA」が出現する回数を再カウントします。最後に、ファイル/コンテンツ全体を逆にします。私の問題は今、起こっているいくつかのことの順序を変更したいのですが、それができないようです. 最初に内容をリバースしたい。次に、文字をそのまま置き換えます。そして最後に、reverse+replace の後に "GCAA" を再カウントします。(何かが起こる前に最初のカウントを維持します)。
[編集]: それを考え出した!!
現在のコード:
# Code to count occurrence of 'GCAA' before letter switching
g = open("filename.txt", "r")
input2 = g.read()
print(input2.count('GCAA'))
g.close()
# Code to SWITCH all the letters AND count occurence of 'GCAA' after
from string import maketrans
table = maketrans("GCTA", "CGAT")
f = open("filename.txt", "r")
input = f.read()
print(input.translate(table))
result = input.translate(table)
print(result.count('GCAA'))
# Reverse the whole thing
print(result[::-1] )
f.close()
基本的に、最初の部分は同じように数えます。しかし、私は最初にリバースしたい. 次に、逆になっているので、文字をそのまま置き換えます。そして、これらの項目を次々と実行した後、最後にもう一度カウントし直します。