我有一些字符串,我想删除每个字符串的最后一个字符。当我尝试下面的代码时,它会删除我的第二行字符串而不是删除最后一个元素。以下是我的代码:
代码
with open('test.txt') as file:
seqs=file.read().splitlines()
seqs=seqs[:-1]
的test.txt
ABCABC
XYZXYZ
输出
ABCABC
所需的输出
ABCAB
XYZXY
答案 0 :(得分:10)
更改此seqs=seqs[:-1]
seqs=[val[:-1] for val in seqs]
注意:强>
seq
是字符串i.e)["ABCABC","XYZXYZ"]
的列表。您只是获得前一项ABCABC
,它解释了输出。答案 1 :(得分:5)
with open('test.txt') as file:
for seq in file:
print seq.strip()[:-1]
这将遍历文件中的每一行并打印省略最后一个字符的行
答案 2 :(得分:4)
file.read().splitlines()
返回一个列表。因此,以下内容可以解决您的问题:
enter with open('test.txt') as file:
data = list(map(lambda x: x[:-1], file.read().splitlines()))
然后,您可以将列表重新加入字符串:"\n".join(data)
答案 3 :(得分:2)
seqs
是一个行列表。您需要遍历这些行来访问每一行:
with open('test.txt') as file:
seq = file.read().splitlines()
for word in seq:
word = word[:-1]
print word