val = [[4, 5, 6, 5], [4, 5, 5, 8, 9]]
a ,b = [], []
for i in val:
a = i
b = i
print a
print b
a[2] = 19
print a
print b
break
运行此代码时,即使我刚刚更改了a [2],b [2]也将被更改。 结果将是:
[4, 5, 6, 5]
[4, 5, 6, 5]
[4, 5, 19, 5]
[4, 5, 19, 5]
运行此代码时将与预期的一样:
val = [4, 5, 6, 5]
a ,b = [], []
for i in val:
a = i
b = i
print a
print b
a = 19
print a
print b
break
结果是:
4
4
19
4
这仅在矩阵中发生!我可以使它起作用的唯一方法是使用铸造。 有什么正常的解释吗?
答案 0 :(得分:0)
尝试通过这种方式进行操作:
val = [[4, 5, 6, 5], [4, 5, 5, 8, 9]]
a = val[0]
b = val[1]
print a
print b
a[2] = 19
print a
print b
您根本不需要for循环,而这实际上是使您烦恼的原因。您正在做的是遍历整个数组,使a和b相同。