python - 测试一个变量是否位于其他两个变量之间的最简单和最Pythonic的方法?

标签 python

我有两个变量n1n2 ,不知道哪个更大。我想测试是否 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/

相关文章:

python - Tensorflow高效重叠相加

Python:Got\xa0 而不是 CSV 中的空格,无法删除或转换

python - 从 pygtk 程序启动默认图像查看器

python - tensorflow 在损失函数中使用输入

python - 在 while 循环中出现语法错误

python - 为什么Processing.py 跳过数组的倒数第二项?

python - SQLAlchemy 是否可以在多个 Python 进程之间共享 SQLite 数据库?

python - 通过直接在数据帧上建立索引来选择特定的行和列

python - 如何使Kivy ActionBar Button在单击时执行某些操作?

python - 乳房 X 光检查中最大轮廓的 OpenCV 分割