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

求助:如何用Python实现生成递增序列矩阵的函数

问题解决建议

你的代码存在两个核心问题:

  • 内层循环范围错误:每个子列表的长度应与它的位置对应(第1个子列表长度1,第2个长度2……),但当前内层循环始终遍历到n,导致所有子列表长度都是n
  • 元素起始值错误:需求是从1开始的递增序列,但你直接添加j,而range(0,n)生成的是从0开始的数值

简化修正版代码

def matrixIncrease(n):
    lst = []
    for i in range(n):
        # 直接生成1到i+1的递增序列
        sub_list = list(range(1, i + 2))
        lst.append(sub_list)
    return lst

print(matrixIncrease(3))  # 输出 [[1], [1, 2], [1, 2, 3]]

保持嵌套循环结构的修正版

如果你想保留原有的嵌套循环写法,可以这样改:

def matrixIncrease(n):
    lst = []
    for i in range(n):
        sub_list = []
        # 内层循环只生成i+1个元素,且从1开始
        for j in range(1, i + 2):
            sub_list.append(j)
        lst.append(sub_list)
    return lst

关键说明

  • range(1, i+2):Python的range是左闭右开区间,要生成1到i+1的整数,结束值需要设为i+2
  • 外层循环的i控制子列表的数量和每个子列表的长度:当i=0时生成[1],i=1时生成[1,2],完全匹配需求的输出格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:18:33