怎么在Python中使用滤去除列表中的空字符串

  介绍

怎么在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}]   祝辞祝辞祝辞

怎么在Python中使用滤去除列表中的空字符串