Python 如何在不丢失空格的情况下切断字符串的两端?
我有一个列表,其中每个元素看起来像这样:Python 如何在不丢失空格的情况下切断字符串的两端?,python,list,Python,List,我有一个列表,其中每个元素看起来像这样: mlist = ['| | | |'] 我需要做的是,把两端的两条垂直线切掉,然后把它变成一条线,但我不能失去任何空格 我试过这个: for i in mlist: templist = i.split() templist.pop(0) templist.pop() mlist[count] = templist count += 1 但这只
mlist = ['| | | |']
我需要做的是,把两端的两条垂直线切掉,然后把它变成一条线,但我不能失去任何空格
我试过这个:
for i in mlist:
templist = i.split()
templist.pop(0)
templist.pop()
mlist[count] = templist
count += 1
但这只会删除所有空间。您可以使用从开始和结束处删除管道:
mlist = [elem.strip('|') for elem in mlist]
这将仅在存在时删除|
字符,如果在开始或结束时重复,将删除多个字符
您还可以使用切片删除第一个和最后一个字符,而不管其中有什么:
mlist = [elem[1:-1] for elem in mlist]
演示:
注意这里的区别;第二个元素在开始和结束处有多个管道,而最后一个元素没有管道。我认为切片可以达到这个目的
mlist = [i[1:-1] for i in mlist]
小型演示
>>> mlist = ['| | | |','| | | | |']
>>> [i[1:-1] for i in mlist]
[' | | ', ' | | | ']
i[1:-1]
应该这样做。我们应该指出,str.split()
(无参数)使用“一个或多个空白字符”作为分隔符分割字符串(即,将空白簇(空格、制表符、返回、换行符等)视为感兴趣部分的边界),以防在搜索中出现这种情况。在你回答完所有问题后,我开始像老师一样使用你的话,像学生一样使用你的话
>>> mlist = ['| | | |','| | | | |']
>>> [i[1:-1] for i in mlist]
[' | | ', ' | | | ']