2024-03-16 06:00:07

简化链比较

我有一个整数值x,我需要检查它是否在开始值和结束值之间,所以我写了下面的语句:

if x >= start and x <= end:
    # do stuff

这个语句加了下划线,工具提示告诉我必须这样做

简化链比较

据我所知,这种比较很简单。我错过了什么?


当前回答

可以改写为:

start <= x <= end:

Or:

r = range(start, end + 1) # (!) if integers
if x in r:
    ....

其他回答

可以改写为:

start <= x <= end:

Or:

r = range(start, end + 1) # (!) if integers
if x in r:
    ....

在Python中,你可以“链式”比较操作,这意味着它们被“并且”组合在一起。在你的情况下,它会是这样的:

if start <= x <= end:

参考:https://docs.python.org/3/reference/expressions.html比较