0

現在、ファイルから巨大な文字列を取得するコードがあります。特定の文字列「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()

基本的に、最初の部分は同じように数えます。しかし、私は最初にリバースしたい. 次に、逆になっているので、文字をそのまま置き換えます。そして、これらの項目を次々と実行した後、最後にもう一度カウントし直します。

4

1 に答える 1

0

私はそれを理解することができました。上記の質問/コメントを編集し、これも示しました。最終的な回答を投稿した可能性のあるすべての人にも感謝します。

于 2013-02-15T03:32:17.573 に答える