题解|按行或列计算平均值

按行或列计算平均值

https://www.nowcoder.com/practice/681856b8cd3648d7aeda53dd350af1ad?tpId=377&tags=&title=&difficulty=&judgeStatus=&rp=0&sourceUrl=%2Fexam%2Foj&gioEnter=menu

所谓按行或列计算平均值,就是计算矩阵中每一行或每一列的平均值。

alt

标准代码如下

def calculate_matrix_mean(matrix: List[List[Union[int, float]]], mode: str) -> List[float]:
    if mode == 'column':
        return [sum(col) / len(matrix) for col in zip(*matrix)]
    elif mode == 'row':
        return [sum(row) / len(row) for row in matrix]
    else:
        raise ValueError("Mode must be 'row' or 'column'")

当然也可以使用numpy库的mean方法简化计算

def calculate_matrix_mean(matrix: List[List[Union[int, float]]], mode: str) -> List[float]:
    import numpy as np
    if mode == 'column':
        return np.mean(matrix, axis=0).tolist()
    elif mode == 'row':
        return np.mean(matrix, axis=1).tolist()
    else:
        raise ValueError("Mode must be 'row' or 'column'")

需要注意的是,numpy中通过axis指定计算的维度,axis=0表示按列计算,axis=1表示按行计算,这是由于numpy库的特性决定的,在numpy中,一维数组是以列向量存储的。

全部评论

相关推荐

2025-12-27 22:28
门头沟学院 Java
点赞 评论 收藏
分享
2025-11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务