擅长:python、mysql、java
<p>通过<em>解包</em>和<em>链接</em>将列表<code>In</code>展平。创建一个按列排列展开列表<code>lst</code>的新列表,然后使用<code>map</code>函数计算每列的平均值:</p>
<pre><code>from itertools import chain
In = [[2, 2, 3], [2, 2, 3], [2, 2, 3], [6]]
lst = chain(*In)
k = 3
In_by_cols = [lst[i::k] for i in range(k)]
# [[2, 2, 2, 6], [2, 2, 2], [3, 3, 3]]
Out = map(lambda x: sum(x)/ float(len(x)), In_by_cols)
# [3.0, 2.0, 3.0]
</code></pre>
<p>对每个子列表的长度使用<code>float</code>将在python2.x上提供更精确的结果,因为它不会进行整数截断。在</p>