介绍
怎么在Python中使用滤去除列表中的空字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强>在Python中,认为以下值为假:强>
#没有值
假#假值
0 #数值零不管它是整数,浮点数还是复杂的类型
& # 39; & # 39;(),[] #任何一个空的序列
{} #空的集合
如果一个列表中含上面值为假的元素,要去除的话,可以使用内置函数的滤波器默认的参数没有。
<强>可以先看下过滤器内置函数的帮助文档强>
在祝辞祝辞,帮助(过滤器) Help 提醒built-in function  filter 拷贝module __builtin__: , 过滤器(…) 没有,,过滤器(function ,或是,序列),→,列表,元组,,或字符串 , ,Return those  items of  sequence for which 函数(项),is 真正的只;如果 ,function is 没有,return 从而items that 断开连接;真正只If sequence is a 元组 一、字符串,大敌;return 从而same 类型,else return a 列表。 , 祝辞祝辞祝辞
从上面的doc文档可以看的出,第一个参数可以为一个函数,也可以为没有。
如果第一个参数为函数
在祝辞祝辞,def 奇怪的(n): ……,,return n %, 2,==1 … 在祝辞祝辞,过滤器(很奇怪,,范围(10)),,,,,#,第一个参数为一般函数 [1,3,5,7,9] 在在在 在祝辞祝辞,过滤器(lambda x:, x %, 2,==, 0,,范围(10)),#,第一个参数为匿名函数 [0,2,4,6,8]
如果第一个参数为所有的话,则默认会去除序列中所有值为假的元素
在祝辞祝辞,L =,(1, & # 39; & # 39;, 0, & # 39;一个# 39;,没有,[1、2],假的,3.14,[],{& # 39;一个# 39;:1},,{}) 在祝辞祝辞,过滤器(没有,,左) [1,& # 39;一个# 39;,,1,,2,,3.14,,{& # 39;一个# 39;:,1}] 祝辞祝辞祝辞
如果复杂一点,要过滤列表的错误的值过滤点,再将““文件填充为“default",可以这样:
在祝辞祝辞,L =,[[],, 1,,,,,,没有,,假的,,{},,3.14,,,,,) 在祝辞祝辞,地图(lambda x: x if  x !=,,,,, else “default",,过滤器(没有,,L)) 3.14[1,,,,& # 39;默认# 39;]
如果再复杂一点,即要去除值为假的元素,而且要去除诸如:& # 39;& # 39;““等多个空字符的元素,上面的就不行了。这个时候就必须做下处理,增加一个函数来处理内含一个或多个空字符的元素:
在祝辞祝辞,L =,(1, & # 39; & # 39;, 0, & # 39;一个# 39;,,,,,,,(1、2),假的,3.14,[],{& # 39;一个# 39;:1},,{}) 在祝辞祝辞,过滤器(lambda 年代:,s 以及(类型(s), !=, str 或是len (s.strip()),祝辞,0),,左) [1,& # 39;一个# 39;,,1,,2,,3.14,,{& # 39;一个# 39;:,1}] 祝辞祝辞祝辞