python的陣列定義是 Python陣列定義方法

2021-10-12 11:08:21 字數 477 閱讀 5194

b = [[0]*10]*10

定義10*10初始為0的二維陣列。

與a=[[0 for x in range(10)] for y in range(10)]比較:print a==b的結果為true。

但用b的定義方法代替a後,以前的可以正常執行的程式也出錯了,經過仔細分析得出區別:

a[0][0]=1時,只有a[0][0]為1,其他全為0。

b[0][0]=1時,a[0][0],a[1][0],只到a[9,0]全部為1。

由此得到大陣列中的10個小的一維資料全是乙個相同的引用,即指向同一位址。

故 b = [[0]*10]*10並不符合我們常規意義上的二維陣列。

同時經過試驗:c=[0]*10的定義與c=[0 for x in range(10)]有同樣的效果,而沒有上面相同引用的問題,估計陣列c的定義時是值型別相乘,而前面b的用型別的相乘,因為一維陣列是乙個引用(借用c#中的值型別和引用型別,不知是否合適)。

python金融分析 用於金融分析的Python包

recommended by activestate.1.numpy 實現各種陣列物件函式和傅利葉變換等等科學計算模組。3.matplotlib 乙個跨平台的數值繪圖包,可繪製高質量的2d,3d影象。4.mysql for python python操作mysql資料庫的介面軟體包。5.pyqt 乙...

python改變陣列的操作是 Python陣列操作

使用列表資料結構並不是一種有效的方法。乙個佇列會更合適。在任何情況下 使用佇列 q collections.deque 1,2,3,4,5,6,7,8 for in xrange 5 q.rotate 1 q deque 6,7,8,1,2,3,4,5 保留列表 或者 比前乙個快 a 1,2,3,4...

什麼是陣列(資料結構),陣列及其定義詳解

前面學習資料結構的過程中,總是使用陣列作為順序表 的底層實現,給我們一種 資料結構中,陣列的作用就是實現順序表 的錯誤認識。其實,陣列的作用遠不止於此。本節將從資料結構的角度講解陣列儲存結構。本節所講的陣列,要將其視為一種儲存結構,與平時使用的陣列基本資料型別區分開。一說起陣列,我們的印象中陣列往往...