针对Python这道题有个疑问!

print filter(lambda s:s and len(s.strip())>0, ['test', None, '', 'str', '  ', 'END'])
#正常输出['test', 'str', 'END']
print ‘ww     ’.strip()
ww
print '   '.strip()
空
print filter(lambda s:s.strip(), ['test', None, '', 'str', '  ', 'END'])
#    print filter(lambda s:s.strip(), ['test', None, '', 'str', '  ', 'END'])
AttributeError: 'NoneType' object has no attribute 'strip'
#是None在作祟,这是什么原因呢?而加上len(s.strip())>0又可以正常执行,小白求解释啊



asdhjhg
浏览 1222回答 1
1回答

weibo_许1un_0

none 0 布尔值位false 大于0为true none是<0的,加了>0的条件自然不会显示。 原因报错都写了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python