Python之filter函数
1.什么是filter函数
filter函数:根据条件过滤规则,返回True或者False,即不符合规则的过滤掉,如下:将一个列表中偶数删除
def f(x):
return x%2==1
print filter(f,[1,2,3,4])
删除 None 或者空字符串:
def is_not_empty(s):
return s and len(s.strip()) > 0
print filter(is_not_empty,['','hello','python',None])
PS:其中s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
如下:
s = ' 123'
s.strip();
rm为空默认删除空白符(包含:\t,\r,\n等)
s = ' 123'
s.strip();
又如:1-100之间平方根为整数
def is_sqrt(x)
r = int(math.sqrt(x))
return r*r == xs
print filter(is_sqrt, range(1, 101))