如何在Python中用filter()+lambda清理网页爬取的空字符串列表?
网页爬取数据清理:删除列表中的空字符串
你的思路完全可行,下面是具体的实现代码:
方法1:filter() + lambda函数
假设你的原始数据列表是raw_data,可以这样处理:
# 严格删除空字符串(不处理全空格的情况) cleaned_data = list(filter(lambda x: x != "", raw_data)) # 如果要同时删除全是空格的字符串,用strip()处理 cleaned_data = list(filter(lambda x: x.strip() != "", raw_data))
注意filter()返回的是迭代器,需要用list()转换成列表。
方法2:列表推导式(Python更常用的写法)
列表推导式的可读性和执行效率都不错,写法更直观:
# 严格删除空字符串 cleaned_data = [item for item in raw_data if item != ""] # 同时删除全空格字符串 cleaned_data = [item for item in raw_data if item.strip() != ""]
两种方法都能实现你的需求,根据自己的习惯选择就行。
内容的提问来源于stack exchange,提问作者Junior Nogueira
相关产品推荐
相关产品推荐

