【发布时间】:2013-08-30 16:37:24
【问题描述】:
我有一个由迭代过程创建的列表,由可变数量的子列表组成,所有这些子列表都具有相同数量的元素;这也是可变的。例如,在一次迭代中,我可以有 4 个子列表,每个子列表 3 个元素,如下所示:
list_1 = [[1,3,5], [7,4,9], [3,6,2], [5,4,7]]
在代码的下一次迭代中,我可以拥有:
list_2 = [[2,4,8,3,5], [2,4,9,1,3], [1,9,6,3,6]]
即 3 个子列表,每个子列表 5 个元素。
对于给定的迭代,所有子列表将始终具有相同个元素。
我需要一种方法来为迭代 i 生成一个 新 列表,该列表来自 list_i,其中包含位于每个子列表中相同位置的所有元素的平均值。所以在list_1 的第一种情况下,我会得到:
avrg_list = [4.0, 4.25, 5.75]
在第二种情况下list_2:
avrg_list = [1.67, 5.67, 7.67, 2.33, 4.67]
如何使用灵活的代码来实现这一点,该代码将根据不同数量的子列表和元素进行自我调整?
【问题讨论】:
-
你应该看看python的函数式编程工具——map、filter、reduce和lambda。