课程
/后端开发
/Python
/python进阶
print filter(lambda s:s if len(s.strip()) > 0,['test', None, '', 'str', ' ', 'END'])
2018-07-19
源自: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,肯定出现语法错误
emmm
File "index.py", line 1 print filter(lambda s:s if len(s.strip()) > 0,['test', None, '', 'str', ' ', 'END']) ^ SyntaxError: invalid syntax
invalid syntax,语法错误
同学你确定python2.7里有
s if len(s.strip())>0
这种语法么?
qq_想不出好名字_0
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计