在Python中,我看到使用这种语法交换了两个变量值:
left, right = right, left
Run Code Online (Sandbox Code Playgroud)
这被认为是交换两个变量值的标准方法,还是有一些其他方法可以按惯例最常交换两个变量?
今天下午我发现了一个无法理解的现象。我想交换ndarray中的两行,如下代码所示。
import numpy as np
a = np.random.randint(0, 40, size=(4, 4))
a = a + a.T
b = a.copy()
print(a)
b[1], b[3] = b[3], b[1]
print(b)
Run Code Online (Sandbox Code Playgroud)
但是一个意想不到的结果来了。打印结果如下
[[60 64 12 33]
[64 30 29 60]
[12 29 40 64]
[33 60 64 76]]
[[60 64 12 33]
[33 60 64 76]
[12 29 40 64]
[33 60 64 76]]
Run Code Online (Sandbox Code Playgroud)
我知道 a,b = b,a 是有效的。我想知道它们之间有什么区别?你能从记忆的角度谈谈这个问题吗?提前谢谢你!