我有许多字符串,我想删除每个字符串的最后一个字符。当我尝试下面的代码时,它会删除我的第二行字符串,而不是删除最后一个元素。下面是我的代码:
代码
with open('test.txt') as file:
seqs=file.read().splitlines()
seqs=seqs[:-1]
测试.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)
seqs
是行列表。您需要遍历这些行以访问每一行:
with open('test.txt') as file:
seq = file.read().splitlines()
for word in seq:
word = word[:-1]
print word