QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码
查看: 86|回复: 1

[已解决]代码求解释

[复制链接]
最佳答案
0 
累计签到:41 天
连续签到:1 天
发表于 2017-9-14 06:57:04 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为了剔除空字符串,为何这条代码能通过print filter(lambda s:s and len(s.strip())>0, ['test', None, '', 'str', '  ', 'END']),而这条通过不了print filter(lambda s:s and len(s.strip()), ['test', None, '', 'str', '  ', 'END']),and 得出来的值不已经是布尔值了吗,为何还要求和零比大小。
最佳答案
2017-9-14 09:12:40
比较运算符的优先级高于逻辑运算符
上面的语句中是先求出长度,判断该长度是否大于0,再和前面的s求and
下面的语句直接将长度作为一个and的逻辑判断,python认为该值基本肯定为真,所以不给通过
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
168 
累计签到:152 天
连续签到:1 天
发表于 2017-9-14 09:12:40 | 显示全部楼层    本楼为最佳答案   
比较运算符的优先级高于逻辑运算符
上面的语句中是先求出长度,判断该长度是否大于0,再和前面的s求and
下面的语句直接将长度作为一个and的逻辑判断,python认为该值基本肯定为真,所以不给通过
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /3 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-11-18 05:17

快速回复 返回顶部 返回列表