python关系运算符连续使用_python比较运算符连用问题(双等号连用)

在python神奇的世界里

你可能见过这个样的语句:

if (5 == len(set(vec[i]+i for i in cols))

== len(set(vec[i]-i for i incols))):

print vec

或是这样的语句​:

​a=[1,2,3,4,5]

b=[1,2,3,4,5]

if(5 ==len(a)

==len(b)):

print "yes"

else:

print "no"

​你可能会疑惑“==”比较符连在一起是什么意思?

按照c的语法规则,显然我们要先从左边第一个“==”开始,

以上题为例,若“5 ==len(a)”​则返回布尔值“True”,然后再比较“True”和“len(b)”是否相等。但是根据python例程的使用情况,我们推测出,python中的“5==len(a)== len(b)”显然不是这样比较的。

我们在​IDLE中输入“help('==')”,得到以下信息,我只摘录出主要部分,其他的信息读者有兴趣的话可以自己输入命令查看。

Unlike C, all comparison operations in Python have the same priority,which is lower than that of any arithmetic, shifting or bitwiseoperation.……

Comparisons can be chained arbitrarily, e.g.,

"x < y <= z" isequivalent to "x < y and y <= z",​……

按照该官方文档解释,

”5== len(a)== len(b)“等价于”5== len(a) and len(a)==len(b)“

这样是不是就一目了然了呢?​

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值