考慮多重賦值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