Python如何删除列表中的空字符串并保留非空内容的换行格式
实现方案
场景1:仅获取过滤空元素后的列表对象
直接通过列表推导式筛选非空元素即可,过滤后列表的元素顺序和原有非空元素完全一致,打印时会自动保留你期望的换行格式:
mylist = [s for s in mylist if s]
执行后得到的mylist就是你期望的结果:
['advice talk neighbours family exchange', 'dedicated shopping hours amid outbreak', 'mar russia consumer surveillance watchdog reported case high']
场景2:获取拼接后带正确换行的字符串
如果你需要将内容拼接为单个字符串,且仅在非空内容之间保留换行,只需要在原有join逻辑的基础上增加空字符串过滤判断即可:
import os text = os.linesep.join([s for s in mylist if s])
原代码问题说明
你之前的写法没有过滤空字符串,空元素会被纳入join序列,导致最终输出出现多余空行。增加if s的判断后,空字符串会被排除,仅保留非空内容和对应换行。
内容的提问来源于stack exchange,提问作者Sri
相关产品推荐
相关产品推荐

