课程
/后端开发
/Python
/python进阶
print filter(lambda s:s if len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])
这里用if为什么不对而只能用and
2018-07-23
源自:python进阶 2-10
正在回答
print filter(lambda s: s if len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])
print
filter
(
lambda
s: s
if
len
(s.strip()) >
0
, [
'test'
,
None
, '
', '
str
END'])
这里不能用if , 这种写法的逻辑是if如果满足为真就返回s。
但是filter()函数里面包含两个参数,第一个是一个判断语句,第二个是一个list
如果第一个参数返回了s,肯定出现语法错误
因为你要返回s,用if语法错误了
dong_brother 提问者
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计