如何用Python计算二维嵌套数组中每个子列表的平均值?
Python 逐子组计算整数平均值实现方案
输入为包含3个固定长度元组的序列,需逐组计算元素平均值,最终输出3个整数组成的列表。
原生无依赖实现
无需安装第三方库,通过列表推导式即可完成:
# 原始输入数据 input_data = [(1,2,0),(2,9,6),(2,3,6)] # 逐组求和计算平均值,截断取整生成结果列表 result = [int(sum(item) / len(item)) for item in input_data]
执行后输出结果为:[1, 5, 3]
不同取整规则的调整方式:
- 截断取整(去掉小数部分):直接用
int()包裹计算结果,或使用整数除法sum(item) // len(item)- 四舍五入取整:将计算部分替换为
round(sum(item) / len(item)),对应输出结果为[1, 6, 4]- 代码中使用
len(item)获取子组长度而非硬编码除数3,后续适配其他长度的子组时无需修改逻辑
大规模数据优化实现
处理大尺寸数值数组时,可使用NumPy提升计算效率:
import numpy as np input_data = np.array([(1,2,0),(2,9,6),(2,3,6)]) # 沿每一行计算均值,转整数后转回Python原生列表 result = input_data.mean(axis=1).astype(int).tolist()
该实现的整数转换规则为直接截断小数部分,和原生实现的效果一致。
内容的提问来源于stack exchange,提问作者JVDeasyas123
相关产品推荐
相关产品推荐

