如何计算 2 个元组之间的百分比变化



我有一个函数,可以对字典键执行计算,并更新它们。每个键都是一个 4-D 点(元组(,例如:

original_key = (6.0, 3.0, 4.8, 1.8)
updated_key = (6.513333333333332, 2.962666666666666, 5.238666666666668, 1.833333333333333)

我希望该函数将停止更新密钥,一旦原始密钥和新密钥之间的百分比变化为 10% 或更少。

如何计算具有此结构的 2 个元组之间的变化?(注意:可以将其更改为元组以外的其他类型(

编辑考虑一个 4-D 空间,我想检查 2 点之间的变化是否在 10% 或更少

如果您还没有距离函数,请定义一个,例如

from math import sqrt
def distance(a, b):
return sqrt(sum([(p - q)**2 for p,q in zip(a, b)]))

或者使用评论中提到的lambda,并在abs(distance(current_key, new_key) / distance(current_key, old_key)) <= 0.1时停止更新。

最新更新