我有两个变量n1
和n2
,不知道哪个更大。我想测试是否 n
介于n1
之间和n2
.
虽然我绝对可以测试if min(n1, n2) < n < max(n1, n2)
,我只是好奇是否有更多的Pythonic方法来做到这一点。
我在想类似if n in range(sorted(n1, n2))
的东西,但这不起作用,因为我无法将列表放入 range( )
.
我还发现有between()
函数位于 pandas
,但它比我需要的功能太强大了。
最佳答案
一种方法是计算两组之间的差异并查看乘积是否为负:
if (n1 - n) * (n2 - n) < 0:
...
获得负结果的唯一方法是如果两个差异具有相反的符号,只有当 n 大于一个数字且小于另一个数字时才会发生这种情况。
关于python - 测试一个变量是否位于其他两个变量之间的最简单和最Pythonic的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76077814/