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

Python列表推导式解析及矩阵对角线求和代码运行过程答疑

解析Python代码的执行流程与原理

一、嵌套列表推导式生成二维列表t

原代码中生成t的语句是:

t = [[3-i for i in range(3)]for j in range(3)]

这是嵌套列表推导式,拆成两步理解更清晰:

  1. 内层列表推导式[3-i for i in range(3)]:
    • range(3)会生成0、1、2三个值,依次代入i计算3-i:
      • i=0 → 3-0=3
      • i=1 → 3-1=2
      • i=2 → 3-2=1
    • 所以内层每次生成的列表都是[3, 2, 1]
  2. 外层循环for j in range(3):
    • 这个循环仅控制生成内层列表的数量(循环3次,对应生成3个内层列表),j的值不会影响内层列表的内容
    • 最终t的结构是:
      [[3, 2, 1], [3, 2, 1], [3, 2, 1]]
      

你之前的理解存在偏差:内层的i和外层的j是完全独立的变量,二者没有同步关联,不是成对循环的。

二、求和步骤的执行过程

接下来的代码用于计算二维列表对角线元素的和:

s = 0
for i in range(3):
    s += t[i][i]
print(s)

执行流程如下:

  1. 初始化s = 0,用于累计求和结果
  2. 循环变量i依次取0、1、2:
    • i=0时,取t[0][0](第一个子列表的第一个元素,值为3),s = 0 + 3 = 3
    • i=1时,取t[1][1](第二个子列表的第二个元素,值为2),s = 3 + 2 = 5
    • i=2时,取t[2][2](第三个子列表的第三个元素,值为1),s = 5 + 1 = 6
  3. 最后print(s)输出结果6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:21:02