Python循环中如何获取每次迭代变量值并生成矩阵
解决方法:保存循环迭代中的所有x值并生成矩阵
嘿,我明白你的问题啦!你现在的循环里每次都把新的列表赋值给变量x,所以之前的数值都被覆盖了,最后自然只剩下最后一次循环的结果。要保存每次迭代的x并生成3×3矩阵,其实有几种简单的方法:
方法1:用列表收集每次的结果
初始化一个空列表X,每次循环生成x后,把它添加到X里就可以了:
X = [] # 初始化空矩阵 for i in range(1, 4): x = [i, i*2, i*3] print(x) # 还是会输出每次的x值 X.append(x) # 将当前x加入矩阵 # 现在X就是你想要的3×3矩阵 print(X) # 输出: [[1, 2, 3], [2, 4, 6], [3, 6, 9]]
如果之后需要单独调用某次的结果,直接用索引获取就行,比如x1 = X[0],x2 = X[1],x3 = X[2]。
方法2:用列表推导式简化代码
如果你想更简洁,可以直接用Python的列表推导式一行生成矩阵,省去显式的循环和append操作:
X = [[i, i*2, i*3] for i in range(1, 4)] print(X) # 同样输出: [[1, 2, 3], [2, 4, 6], [3, 6, 9]]
额外:单独获取x1、x2、x3变量
如果确实需要把矩阵里的每个子列表赋值给单独的变量,可以用解包操作:
x1, x2, x3 = X print(x1) # [1, 2, 3] print(x2) # [2, 4, 6] print(x3) # [3, 6, 9]
内容的提问来源于stack exchange,提问作者Inho Lee
相关产品推荐
相关产品推荐

