Skip to main content
 首页 » 编程设计

python之如何删除列表开头和结尾的空白元素 Python

2025年05月04日10emanlee

我有一个字符串列表,只需要删除列表开头和结尾的空字符串序列。我需要保留非空字符串之间的所有空字符串。

例如,

my_list = ['', '', 'Sam sits', '', 'Thinking of you.', '', 'All ideas bad.', '', '', '']   

输出应该是;

['Sam sits', '', 'Thinking of you.', '', 'All ideas bad.']   

我尝试使用的大多数方法也去除了中间的空白行。 任何建议将不胜感激。

请您参考如下方法:

有一种更高效的方法,但是如果您选择的元素不包含在列表的元素中,您可以join 和 strip 和 split 只去掉前面和后面的元素,保留里面的空元素中间。

>>> '-'.join(my_list).strip('-').split('-') 
['Sam sits', '', 'Thinking of you.', '', 'All ideas bad.'] 

扩展此方法以将列表中间较长的空字符串连接成单个空字符串:

import re 
 
def remove_join(arr, el): 
    return re.split(r'\{}+()'.format(el), el.join(arr).strip(el)) 
 
>>> my_list = ['', '', 'test', '', '', '', 'test2', '', ''] 
>>> remove_join(my_list, '-') 
['test', '', 'test2']