当我通过矩阵循环以获得对角线时:
a = [[11, 2, 4],
[4, 5, 6],
[10, 8, -12]]
i = 0
o = 0
for a[i] in a:
d1 = a[i][o]
o += 1
print(d1)
输出与预期的一样11, 5, -12
,
但是当我再次打印出矩阵时:
print(a)
矩阵改变了
[[10, 8, -12], [4, 5, 6], [10, 8, -12]]
第一行不再是这样[11, 2, 4]
。
我不知道为什么会这样。
您正在将a的每个元素分配给a的第一个元素。请参阅以下代码。
for a[0] in a:
print(a)
这样产生:
[[11, 2, 4], [4, 5, 6], [10, 8, -12]]
[[4, 5, 6], [4, 5, 6], [10, 8, -12]]
[[10, 8, -12], [4, 5, 6], [10, 8, -12]]
首先将a [0]重新分配给[11,2,4],然后重新分配给[4,5,6],最后重新分配给[10,8,-12]。a [1]和a [2]不变。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句