使用map查找嵌套列表的平均值

时间:2017-03-06 23:23:52

标签: python performance dictionary

我试图找到一个简洁的单行代码来计算每个嵌套列表的平均值。将输入二维整数列表和输出浮点值。踢球者是我试图用内置的map()做到这一点,但我不确定如何。只是想尝试一些事情。

理解代码:

row_sum = [(sum(idx)/float(len(idx))) for idx in matrix]
return row_sum

任何提示将不胜感激。

2 个答案:

答案 0 :(得分:2)

如果您打算使用map,这应该可行

row_sum = list(map(lambda idx: sum(idx)/float(len(idx)), matrix))

答案 1 :(得分:1)

似乎非常直截了当。您可以自己制作“平均”功能,也可以使用statistics库中的功能。

>>> import statistics
>>> rows = [[1,2,3], [4,5,6]]
>>> list(map(statistics.mean, rows))

我使用的是Python 3,因此/不是整数除法:

>>> def average(lst): return sum(lst)/len(lst)
...
>>> list(map(average, rows))
[2.0, 5.0]

有趣的是statistics.mean返回int ...

>>> rows = [[1,2,3], [4,5,6,3]]
>>> list(map(statistics.mean, rows))
[2, 4.5]

非常有趣......