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]
['             | |   ', '            | | | ']