检查范围内的某些东西的运行时

Shr*_*lix 2 python

我想检查介于l和h之间的m.我可以写

if m<=h and m>=l
Run Code Online (Sandbox Code Playgroud)

要么

m in range(l,h+1)
Run Code Online (Sandbox Code Playgroud)

后者看起来更好,但是它需要超过O(1)时间吗?

wim*_*wim 5

O(1):

if m<=h and m>=l:
    ...
Run Code Online (Sandbox Code Playgroud)

Python 2中的O(n),但Python 3中的O(1):

if m in range(l, m+1):
    ...
Run Code Online (Sandbox Code Playgroud)

更好的风格:

if low <= m <= high:
    ...
Run Code Online (Sandbox Code Playgroud)

注意:如果m可以是非整数,则行为不同(例如,考虑浮点数).