使用.rstrip()

时间:2019-11-30 07:14:19

标签: python regex python-3.x string

我有以下列表

listA=['farm', '\r\n']

当我编写以下代码以删除'\ r \ n'

listA = [x.rstrip() for x in listA]

我得到的输出是

['farm', '']

我想要的理想输出是。我该怎么做

['farm']

3 个答案:

答案 0 :(得分:3)

listB = [x for x in listA if x.rstrip()]

答案 1 :(得分:1)

您可以将filter()None用作第一个参数(而不是函数名称),它将删除空字符串,空列表None。但它也会删除整数0和浮点数0.0

listA = ['farm', '']

listB = list(filter(None, listA))

答案 2 :(得分:1)

您可以使用正则表达式检查字符串是否仅包含空格字符:

import re

listA = ['a   ', '\r\n', '']

listB = [i.rstrip() for i in listA if i and not re.match(r'\s+', i)]

print(listB)
# ['a']