子列表中的平均元素

Gab*_*iel 4 python numpy list

我有一个列表,由迭代过程创建,由可变数量的子列表组成,所有子列表都具有相同数量的元素; 这也是可变的.例如,在一次迭代中,我可以有4个子元素,每个子元素包含3个元素,如下所示:

list_1 = [[1,3,5], [7,4,9], [3,6,2], [5,4,7]]
Run Code Online (Sandbox Code Playgroud)

在代码的下一次迭代中,我可以:

list_2 = [[2,4,8,3,5], [2,4,9,1,3], [1,9,6,3,6]]
Run Code Online (Sandbox Code Playgroud)

也就是说,每个包含5个元素的3个子列表.

对于给定的迭代,所有子列表将始终具有相同数量的元素.

我需要一种方法来生成迭代i列表list_i,包含位于每个子列表中相同位置的所有元素的平均值.所以在第一种情况下,list_1 我得到:

avrg_list = [4.0, 4.25, 5.75]
Run Code Online (Sandbox Code Playgroud)

在第二种情况下list_2:

avrg_list = [1.67, 5.67, 7.67, 2.33, 4.67]
Run Code Online (Sandbox Code Playgroud)

如何通过灵活的代码来实现这一点,该代码可以根据不同数量的子列表和元素进行调整?

Ham*_*mer 5

你有兴趣使用numpy吗?

In [19]: list_1 = [[1,3,5], [7,4,9], [3,6,2], [5,4,7]]
In [22]: np.mean(list_1, 0)
Out[22]: array([ 4.  ,  4.25,  5.75])
Run Code Online (Sandbox Code Playgroud)

  • @Gabriel如果你被允许使用`numpy`那就去吧,它比普通的python更快.(但是从一开始就使用一个numpy数组,而不是列表) (2认同)