如何使用 Python 比较每个列表元素的两个列表来计算百分比误差

How calculate percentage error by comparing two lists for each list's element using Python

我有两个列表,例如:

a = [12, 0.2112, 0.2335, 4, 523, -0.55556, 0.212] # accepted value
b = [10, -0.0222, 0.5534, 4, 522, -0.99922, 0.877] # experimental value

我想使用这个公式 - |accepted value(a[i]) - experimental value(b[i])| \ accepted value(a[i]) x 100%, 得到这个结果:

c = [16.66, 110.51, 137.00, 0.00, 0.191, 78.59, 313.67]

如何在不使用 numpy 的情况下对两个列表执行此操作?

这可以用一个普通的循环来完成

c = [abs(i-j)/i*100 for i,j in zip(a,b)]
print(c)

如果 a 中有零,则可以通过包含 if-else 语句跳过这些(同时保持相同的长度):

c = [abs(i-j)/i*100 if i != 0 else None for i,j in zip(a,b)]
print(c)