python 去除列表中的 "空/换行" 字符串

本文介绍了一种有效的方法来清理Python列表中的空字符串、换行符和制表符,通过使用strip()方法结合if条件判断,确保列表只保留有意义的数据。

前言

昨天处理翻译数据时,打印出来的列表中有多个 “空 / 换行” 字符串,经过网上冲浪后得以解决。

该列表如下格式:

l = ['', 'You why like this\n', '', '  \r\n', 'Why are you so\n', '']   
# 该列表中有空格和换行以及回车

分析

① 👉》举一个小栗子:
l1 = '  \ryou why like this\n'      
# 该字符串中有 需要用到的字符、空格以及回车换行符

l2 = '   \t\r\n'                    
# 该字符串中除了 空格、制表符以及回车换行符 外,没有其他字符

if l1.strip():  # 如果l1.strip()的值为真,打印l1;否则不打印
    print(l1)
if l2.strip():  # 如果l2.strip()的值为真,打印l2;否则不打印
    print(l2)

'''
输出的结果为:
  \ryou why like this\n		
(空)
'''
  • 因为l1除了” 空格回车换行符之外还有其他字符“ ,所以调用strip()方法并结合if条件判断字符串中是否还有其他字符存在,若存在,条件为真,打印该值的结果。
  • l2除了” 空格、制表符以及回车换行符外,没有其他字符“,所以调用strip()方法并结合if条件判断字符串中是否还有其他字符存在,若不存在,条件为假,不打印该值。
② 👉》完成对l列表的代码编写:
l = ['', 'You why like this\n', '', '  \r\n', 'Why are you so\n', '']   
# 该列表中有空格和换行以及回车

写法一:👇
for x in l:
    if x.strip():
        print(x.strip())

'''
输出的结果为:
You why like this
Why are you so
'''
----------------------------------------------------------------------

写法二:👇
list = [x.strip() for x in l if x.strip()]
print(list)

'''
输出的结果为:
['You why like this', 'Why are you so']
'''
  • 首先用for循环遍历列表l,接着调用strip()方法并结合if条件判断字符串x中是否还有其他字符存在,若存在,条件为真,再调用strip()方法去除字符串自身的空白字符(结合上面的栗子)

  • 列表推导式 (简写),替代上面得代码:
    list = [x.strip() for x in l if x.strip()]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值