You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何修改现有代码使矩阵除以标量后返回嵌套列表结构

问题原因

你当前的代码仅初始化了一个最外层的空列表mat2,所有运算后的元素都直接追加到这个全局列表中,完全丢失了原矩阵的嵌套层级结构,所以最终得到的是一维列表。

修改方案

方案1:保留原循环逻辑调整结构

处理每一行子列表前先单独创建临时空列表存储当前行的运算结果,当前行所有元素处理完成后,再把临时子列表追加到最外层结果列表中:

def div_mat_by_scalar(mat, alpha):
    mat2 = []
    for i in range(len(mat)):
        # 每行单独创建子列表
        row = []
        for j in range(len(mat[i])):
            a = mat[i][j] // alpha
            row.append(a)
        # 处理完一整行后把行添加到外层列表
        mat2.append(row)
    return mat2 

mat1 = [[2, 4], [6, 8]]   
print(div_mat_by_scalar(mat1,2))

运行输出即可得到你期望的[[1, 2], [3, 4]]。

方案2:用列表推导式简化写法

逻辑和上述方案完全一致,代码更简洁易读:

def div_mat_by_scalar(mat, alpha):
    return [[num//alpha for num in row] for row in mat]

mat1 = [[2, 4], [6, 8]]   
print(div_mat_by_scalar(mat1,2))

内容的提问来源于stack exchange,提问作者sds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:06:06