考虑多重赋值
x[0],y = y,x[0]
。应用于以下四种情况中的每一种,都会得到四个不同的结果。
Case 1:
x = [[1,2], [3,4]] y = [5,6]
gives
x = [[5,6], [3,4]] y = [1,2]
Case 2:
x = np.array([[1,2], [3,4]]) y = [5,6]
gives
x = array([[5,6], [3,4]]) y = array([5,6])
Case 3:
x = [[1,2], [3,4]] y = np.array([5,6])
gives
x = [array([5,6]), [3,4]] y = [1,2]
Case 4:
x = np.array([[1,2], [3,4]]) y = np.array([5,6])
gives
x = array([[5,6], [3,4]]) y = array([5,6])
看起来Python中列表的多重赋值比Numpy数组的多重赋值更加智能(会自动通过一个临时变量进行操作)。
有什么想法吗?
编辑:实际上并不比Numpy数组的多重赋值更智能...