如何删除多个字符串中的最后一个字符?
How to remove final character in a number of strings?
我有许多字符串,我想删除每个字符串的最后一个字符。当我尝试下面的代码时,它会删除我的第二行字符串而不是删除最后一个元素。下面是我的代码:
代码
with open('test.txt') as file:
seqs=file.read().splitlines()
seqs=seqs[:-1]
test.txt
ABCABC
XYZXYZ
输出
ABCABC
期望输出
ABCAB
XYZXY
with open('test.txt') as file:
for seq in file:
print seq.strip()[:-1]
这遍历文件中的每一行并打印省略最后一个字符的行
改变这个seqs=seqs[:-1]
seqs=[val[:-1] for val in seqs]
注:
- 您的旧方法中的问题是
seq
是一个字符串列表,即 ["ABCABC","XYZXYZ"]
。您只是在解释输出的最后一项 ABCABC
之前获取该项目。
- 我所做的是从列表中获取字符串并省略它的最后一个字符。
seqs
是行列表。您需要循环访问每一行:
with open('test.txt') as file:
seq = file.read().splitlines()
for word in seq:
word = word[:-1]
print word
file.read().splitlines()
returns 一个列表。因此,以下可以解决您的问题:
enter with open('test.txt') as file:
data = list(map(lambda x: x[:-1], file.read().splitlines()))
然后你可以将列表加入回一个字符串:"\n".join(data)
我有许多字符串,我想删除每个字符串的最后一个字符。当我尝试下面的代码时,它会删除我的第二行字符串而不是删除最后一个元素。下面是我的代码:
代码
with open('test.txt') as file:
seqs=file.read().splitlines()
seqs=seqs[:-1]
test.txt
ABCABC
XYZXYZ
输出
ABCABC
期望输出
ABCAB
XYZXY
with open('test.txt') as file:
for seq in file:
print seq.strip()[:-1]
这遍历文件中的每一行并打印省略最后一个字符的行
改变这个seqs=seqs[:-1]
seqs=[val[:-1] for val in seqs]
注:
- 您的旧方法中的问题是
seq
是一个字符串列表,即["ABCABC","XYZXYZ"]
。您只是在解释输出的最后一项ABCABC
之前获取该项目。 - 我所做的是从列表中获取字符串并省略它的最后一个字符。
seqs
是行列表。您需要循环访问每一行:
with open('test.txt') as file:
seq = file.read().splitlines()
for word in seq:
word = word[:-1]
print word
file.read().splitlines()
returns 一个列表。因此,以下可以解决您的问题:
enter with open('test.txt') as file:
data = list(map(lambda x: x[:-1], file.read().splitlines()))
然后你可以将列表加入回一个字符串:"\n".join(data)