例子2里直接写return len(s.strip())>0 可以吗
例子2里面为什么是 returned s and len(s.strip())>0
直接写 return len(s.strip())>0 可以吗
例子2里面为什么是 returned s and len(s.strip())>0
直接写 return len(s.strip())>0 可以吗
2015-06-26
可以,filter其实是将一个列表传入到函数中,然后接收函数返回的True或者False进行筛选。
从下面例子可以看到:return len(s.strip())>0返回的是布尔值True或者False
def func(s): print s and len(s.strip())>0 return s and len(s.strip())>0 def f(s): print len(s.strip())>0 return len(s.strip())>0 print filter(func,['akb',' ','dffd ']) print '-------' print filter(f,['akb',' ','dffd'])
结果:
True
False
True
['akb', 'dffd ']
-------
True
False
True
['akb', 'dffd']
举报