各文字列の最後の文字を削除したい文字列がいくつかあります。以下のコードを試すと、最後の要素を削除する代わりに、文字列の 2 行目を削除します。以下は私のコードです:
コード
with open('test.txt') as file:
seqs=file.read().splitlines()
seqs=seqs[:-1]
test.txt
ABCABC
XYZXYZ
出力
ABCABC
望ましい出力
ABCAB
XYZXY
これを変えるseqs=seqs[:-1]
seqs=[val[:-1] for val in seqs]
ノート:
seq
が文字列のリストであることです["ABCABC","XYZXYZ"]
。ABCABC
出力を説明する最後の項目の前に項目を取得しています。with open('test.txt') as file:
for seq in file:
print seq.strip()[:-1]
これは、ファイル内のすべての行を繰り返し処理し、最後の文字を省略して行を出力します
file.read().splitlines()
リストを返します。したがって、次の方法で問題を解決できます。
enter with open('test.txt') as file:
data = list(map(lambda x: x[:-1], file.read().splitlines()))
次に、リストを結合して文字列に戻すことができます。"\n".join(data)