Python:检查一个元素是否在两个其他元素之间

时间:2014-08-11 09:10:14

标签: python if-statement

有两个要素:A和B. 我不知道哪个元素更大。我命令检查第三个元素(C)是否介于它们之间我执行以下操作:

if A < C < B or B < C < A:
    print("C is between A and B")

有更聪明/更快的方法吗?

1 个答案:

答案 0 :(得分:2)

考虑到目前为止提出的两种方法,我个人认为A < C < B or B < C < Amin(A,B) < C < max(A,B)更具可读性。

非常快速测试还表明它在我的计算机上也更快(至少有小int个值)。例如:

> python -m timeit("A, B, C = 74, 28, 19; A < C < B or B < C < A")
1000000 loops, best of 3: 0.267 usec per loop

> python -m timeit("A, B, C = 74, 28, 19; min(A, B) < C < max(A, B)")
1000000 loops, best of 3: 0.4 usec per loop