Skip to main content
 首页 » 编程设计

python之一行中两个列表中整数之间的平均差异之Python

2025年05月04日10Leo_wl

有两个非空列表,只包含整数,它们的长度相同。

我们的函数需要返回相同索引的整数之间的平均绝对差异。
例如,对于列表 [1, 2, 3, 4] 和 [1, 1, 1, 1],答案将是 1.5.
该功能需要在一行中完成。

我有一些东西可以做到这一点,但正如您可能猜到的那样,它不是单行代码:

def avg_diff(a, b): 
    sd = 0.0 
    for x, y in zip(a, b): 
        sd += abs(x - y) 
    return sd / len(a) 

谢谢。

请您参考如下方法:

在 Python 3.4 中我们得到了一些 statistic functions在标准库中,包括 statistics.mean .

使用这个函数和一个生成器表达式:

from statistics import mean 
 
a = [1, 2, 3, 4] 
b =  [1, 1, 1, 1] 
 
mean(abs(x - y) for x, y in zip(a, b)) 
# 1.5