x[:][1]
是整個陣列行1和x[1][:]
都是x
的第1行,所以他們都指向同一行。
In [2]: x[:]
Out[2]:
[[86, 92, 95, 78, 68],
[76, 80, 44, 30, 73],
[48, 85, 99, 35, 14],
[3, 84, 50, 39, 47],
[3, 7, 67, 28, 65],
[19, 13, 98, 53, 33],
[9, 97, 35, 25, 89],
[48, 3, 48, 5, 1],
[21, 40, 72, 61, 62],
[58, 43, 84, 69, 26]]
In [3]: x[1]
Out[3]: [76, 80, 44, 30, 73]
In [4]: x[1][:]
Out[4]: [76, 80, 44, 30, 73]
使用x[:]
經常使用,如果你想的x
的副本保存在一個變量,不只是一個參考吧:
In [6]: x1 = x[:]
In [7]: x1
Out[7]:
[[86, 92, 95, 78, 68],
[76, 80, 44, 30, 73],
[48, 85, 99, 35, 14],
[3, 84, 50, 39, 47],
[3, 7, 67, 28, 65],
[19, 13, 98, 53, 33],
[9, 97, 35, 25, 89],
[48, 3, 48, 5, 1],
[21, 40, 72, 61, 62],
[58, 43, 84, 69, 26]]
創建一個副本:
In [11]: x1 = x[:]
In [12]: id(x1) # different objects so different id's
Out[12]: 140130415845104
In [13]: id(x)
Out[13]: 140130400510176
創建參考:
In [14]: x1 = x
In [15]: id(x) # same object so same id's
Out[15]: 140130400510176
In [16]: id(x1)
Out[16]: 140130400510176
你爲什麼使用列表清單?你有NumPy!你正在使用NumPy的隨機數發生器!使用數組!如果你有一個數組而不是列表列表,'x [i,:]'和'x [:,i]'會做你想要的。 – user2357112
因爲我有不同大小和類型的列表,這裏的示例僅用於說明。 – ipluto