为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能使用if, lambda x: x if len(x.strip()) > 0 ???

为什么不能使用if,   lambda x: x if len(x.strip()) > 0   ???

正在回答

2 回答

if len(x) > 0:
        print x


0 回复 有任何疑惑可以回复我~

None没有strip属性,为嘛换个位置就报错


>>> print filter(lambda x: x and x.strip(),['test', None, '', 'st r', '  ', 'END'])

['test', 'st r', 'END']

>>> print filter(lambda x: x.strip() and x,['test', None, '', 'st r', '  ', 'END'])

Traceback (most recent call last):

  File "<pyshell#58>", line 1, in <module>

    print filter(lambda x: x.strip() and x,['test', None, '', 'st r', '  ', 'END'])

  File "<pyshell#58>", line 1, in <lambda>

    print filter(lambda x: x.strip() and x,['test', None, '', 'st r', '  ', 'END'])

AttributeError: 'NoneType' object has no attribute 'strip'


>>> print filter(lambda x: len(x.strip()) > 0 and x,['test',None, '', 'st r', '  ', 'END'])


Traceback (most recent call last):

  File "<pyshell#70>", line 1, in <module>

    print filter(lambda x: len(x.strip()) > 0 and x,['test',None, '', 'st r', '  ', 'END'])

  File "<pyshell#70>", line 1, in <lambda>

    print filter(lambda x: len(x.strip()) > 0 and x,['test',None, '', 'st r', '  ', 'END'])

AttributeError: 'NoneType' object has no attribute 'strip'


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么不能使用if, lambda x: x if len(x.strip()) > 0 ???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信