gpt4 book ai didi

python - 为什么当我循环它时方阵会改变?

转载 作者:行者123 更新时间:2023-11-28 17:06:26 26 4
gpt4 key购买 nike

当我循环遍历矩阵以获取对角线时:

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]不变。

关于python - 为什么当我循环它时方阵会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50672579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com