银汉鱼 发表于 2024-8-21 16:10:55

i *= matrix[i][i] 求解答

matrix = [,
...         ,
...         ]
>>> diag = []
>>> for i in range(len(matrix)):
...   i *= matrix
...   diag.append(i)
...
>>> diag



我的问题是
i *= matrix
这一步是什么意思啊?
有人说是累乘。
但是我不清楚谁乘谁……

奖励耐心回答的2个友友5鱼币,非诚勿扰!

很cool的阳 发表于 2024-8-21 16:54:29

{:7_113:}

三体人的智子 发表于 2024-8-21 16:57:13

i*=matrix是缩写,应该是i=matrix*i

i经过第一次循环,初始值为0,
执行这句语句后,i==1*0,i的值就是0

第二次循环,i的初始值为1,i==matrix*1,i==5
i的值变为5

第三次循环,i的初始值为2,i=matrix*2,i==9*2,i==18
i的值为18

每次循环将i的值添加到diag这个空列表中,所以最终diag为


银汉鱼 发表于 2024-8-21 17:07:06

三体人的智子 发表于 2024-8-21 16:57
i*=matrix是缩写,应该是i=matrix*i

i经过第一次循环,初始值为0,


懂了!谢谢

三体人的智子 发表于 2024-8-21 17:09:03

银汉鱼 发表于 2024-8-21 17:07
懂了!谢谢

求最佳{:10_254:}

18408238295 发表于 2024-8-22 09:21:32

i=i*matrix这里省略写法
页: [1]
查看完整版本: i *= matrix[i][i] 求解答