ここで本当に簡単な質問ですが、質問するのに十分長い間私を悩ませています。コードは次のようになります。
f4 = open("genomekey2.txt", 'rb')
keyline = f4.readline()
keygenomes = []
for keyline in f4:
keygenomes.append(keyline[:-1])
ゲノムキー2.txtファイル形式は次のようになります
['Prochlorococcus marinus str. MIT 9202']
['Prochlorococcus marinus str. NATL1A']
['Synechococcus sp. RS9917']
['Nostoc sp. PCC 7120']
['Synechococcus sp. JA-2-3B'a(2-13)']
問題は、ゲノムキー リストを印刷すると、必要なすべてのエントリが含まれていますが、リスト内の各 [ ] が引用符で囲まれていることです。別のリストと比較できるように引用符を削除したいのですが、今のところ方法が見つかりません。私は試した...
for a in keygenomes:
a.replace('"', '')
しかし、それはうまくいかなかったようです。引用符をまったく追加しないソリューションが望ましいです。とにかくそれらは何のためにあり、コードのどの部分 (.append、.readline()) がそれらを追加する責任がありますか? ここでは非常に初心者の質問ですが、皆さんはかなりいい人です。
編集:最終的には、そのようにフォーマットされたリストと比較したい
[['Arthrospira maxima CS-328']、['Prochlorococcus marinus str. MIT 9301']、['Synechococcus sp. CC9605']、['Synechococcus sp. WH 5701']、['Synechococcus sp. CB0205']、['プロクロロコッカス マリヌス str. MIT 9313']、['Synechococcus sp. JA-3-3Ab']、['Trichodesmium erythraeum IMS101']、['Synechococcus sp. PCC 7335']、['Trichodesmium erythraeum IMS101']、...
編集:だから、答えを組み合わせて何かをすることができたと思います。助けてくれてありがとう!引用符はリストの比較に干渉していたので、最初のリストにも追加しましたが、文字列として入力されているリストを模倣しているだけだと思います(現在、その区別を理解していると思います)動作しているようです
f4 = open("genomekey2.txt", 'rb')
keyline = f4.readline()
keygenomes = []
for keyline in f4:
keygenomes.append(keyline[:-1])
specieslist = " ".join(["%s" % el for el in specieslist])
nonconservedlist = [i for i in keygenomes if i not in specieslist]
編集:ええ、上記は機能しましたが、問題をよりよく理解した後、ここで見つけたよりエレガントなソリューション(http://forums.devshed.com/python-programming-11/convert-string-to-list-71857.html)のおかげであなたのみんなの助けは次のようなものです:
for keyline in f4:
keyline = eval(keyline)
keygenomes.append(keyline)
ありがとう!