值机时间

2024-06-16 10:08:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想看看我是否在l和h之间。 我会写字

if m<=h and m>=l

或者

m in range(l,h+1)

后一种看起来更好,但它需要更多的时间吗?你知道吗


Tags: andinif时间range我会写字
2条回答

最好使用第一个,但你可以像这样重写:

if 1<=m<=h

函数range创建一个列表,in搜索m是否在该列表中。两个比较在性能上更差。你知道吗

这只适用于Python2,在Python3中,这两种方法都是最佳的。你知道吗

O(1):

if m<=h and m>=l:
    ...

在Python 2中,O(n),但是O(1) in Python 3

if m in range(l, m+1):
    ...

更好的风格:

if low <= m <= high:
    ...

注意:如果m可以是一个非整数(例如,考虑一个浮点数),则行为是不同的。你知道吗

相关问题 更多 >