Rap*_*pid 38 python numbers function distance
我想知道是否有一个内置于Python中的函数可以确定两个有理数之间的距离,但我没有告诉它哪个数字更大.例如
>>>distance(6,3)
3
>>>distance(3,6)
3
Run Code Online (Sandbox Code Playgroud)
显然我可以写一个简单的定义来计算哪个更大然后只做一个简单的减法:
def distance(x, y):
if x >= y:
result = x - y
else:
result = y - x
return result
Run Code Online (Sandbox Code Playgroud)
但我宁愿不必调用这样的自定义函数.根据我有限的经验,我经常发现Python有一个内置函数或一个模块,它可以完全按照您的需要执行,并且比代码更快.希望有人能告诉我有一个内置功能可以做到这一点.
NPE*_*NPE 79
abs(x-y) 将完全满足您的需求:
In [1]: abs(1-2)
Out[1]: 1
In [2]: abs(2-1)
Out[2]: 1
Run Code Online (Sandbox Code Playgroud)
Acu*_*nus 11
如果您对不同的答案感到好奇,以下单行也可以使用:
max(x - y, y - x)
max(x, y) - min(x, y)
(x - y) * math.copysign(1, x - y)
(d := x - y) * math.copysign(1, d)肯定使用是首选.
如果有数组,也可以使用numpy.diff:
import numpy as np
a = [1,5,6,8]
np.diff(a)
Out: array([4, 1, 2])
Run Code Online (Sandbox Code Playgroud)