QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
58
查看: 91|回复: 1

[已解决]代码求解释

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

马上注册加入鱼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认为该值基本肯定为真,所以不给通过
楼层
跳转到指定楼层
最佳答案
201 
累计签到:158 天
连续签到:7 天
BngThea 发表于 2017-9-14 09:12:40 | 显示全部楼层    本楼为最佳答案   
比较运算符的优先级高于逻辑运算符
上面的语句中是先求出长度,判断该长度是否大于0,再和前面的s求and
下面的语句直接将长度作为一个and的逻辑判断,python认为该值基本肯定为真,所以不给通过

发表回复

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

本版积分规则

关闭

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

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

小黑屋|手机版|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-24 02:43

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