找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2073|回复: 3

[求助] 新手求教:为啥下面两个运算结果不一样

1

主题

2

帖子

2

积分

贫民

积分
2
pypig 发表于 2017-10-14 17:40:22 | 显示全部楼层 |阅读模式
新手求教:为啥下面两个运算结果不一样
>>> False in [1,'345',3+4j,4 in [1,2,3]]
True
>>> 3==4 in [1,'345',3+4j,4 in [1,2,3]]
False

回复

使用道具 举报

3

主题

24

帖子

24

积分

贫民

积分
24
ccwybatn 发表于 2017-10-15 08:58:23 | 显示全部楼层
很明显啊第二条里,3就是true,4也是true,4 in [1,2,3]的结果是false,所以4in后面那一串的结果都是false,true==false答案肯定是false
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
ufoofuufoofu 发表于 2017-10-16 11:37:03 | 显示全部楼层
运算符优先级问题,==的优先级比较低,程序把后面的4 in [1,'345',3+4j,4 in [1,2,3]]先计算为false,然后0,none,空列表,空字符串判定为false,像上面的3判定为ture,最后的结果就是false了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
idea 发表于 2017-10-18 17:15:22 | 显示全部楼层
in的优先级不是比==更低吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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