我试图找到一个简洁的单行代码来计算每个嵌套列表的平均值。将输入二维整数列表和输出浮点值。踢球者是我试图用内置的map()做到这一点,但我不确定如何。只是想尝试一些事情。
理解代码:
row_sum = [(sum(idx)/float(len(idx))) for idx in matrix]
return row_sum
任何提示将不胜感激。
答案 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]
非常有趣......