考虑多重赋值x[0],y = y,x[0]
。应用于以下四种情况中的每一种情况下,这给出了四种不同的结果。Numpy数组和列表的多重赋值,一个好奇的例子
情况1:
x = [[1,2], [3,4]] y = [5,6]
给出
x = [[5,6], [3,4]] y = [1,2]
情况2:
x = np.array([[1,2], [3,4]]) y = [5,6]
给出
x = array([[5,6], [3,4]]) y = array([5,6])
情况3:
x = [[1,2], [3,4]] y = np.array([5,6])
给出
x = [array([5,6]), [3,4]] y = [1,2]
情况4:
x = np.array([[1,2], [3,4]]) y = np.array([5,6])
给出
x = array([[5,6], [3,4]]) y = array([5,6])
似乎列表的多重赋值比Numpy数组的多重赋值更智能(自动执行临时变量)。
想法?
编辑:它毕竟不是聪明......
“看来,列出的多任务是聪明(通过一个临时变量会自动),比numpy的阵列的多重任务。” - 怎么会这样?当分配到Numpy数组时,它会将其转换为Numpy数组的一部分。 – Scimonster