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

Python非方阵场景下修改矩阵首行首列失效问题咨询

问题修复方案

错误原因

你给第一行赋值的循环范围配置错误:

  • len(x)获取的是矩阵的行数,你生成的3行6列非方阵中len(x)=3,所以给第一行赋值的循环只会遍历前3个元素,剩余3个元素没有被修改,导致效果不符合预期
  • 第一行的长度等于矩阵的列数,应该取len(x[0])作为第一行的循环遍历范围

优化修正后代码

def empty_matrix(x,y):
    matrix = []
    for i in range(x):
        row = []
        for _ in range(y):
            row.append(None)
        matrix.append(row)
    return matrix

# 生成3行6列非方阵
x = empty_matrix(3,6)
# 填充第一列,循环次数等于行数
for i in range(len(x)):
    x[i][0] = i * -2
# 填充第一行,循环次数等于列数
for j in range(len(x[0])):
    x[0][j] = j * -2

# 打印验证效果
for row in x:
    print(row)

运行效果

输出结果完全符合预期:

[0, -2, -4, -6, -8, -10]
[-2, None, None, None, None, None]
[-4, None, None, None, None, None]

修正后不管矩阵是不是方阵,都能正常完成第一行、第一列的等差序列填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:54:03