定義以及初始化
>>> a = [1,2,3]
>>> a
[1, 2, 3]
>>> 初始化一維陣列
>>> [0
for x in range(10)]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> a = [[1,1],[2,2]]
>>> a
[[1, 1], [2, 2]]
>>> mylist = [[0]*3]*4
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> mylist[0][1] = 1
>>> mylist
[[0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0]]
發現當初始化mylist[0][1]時候所有的元素中的第二個元素都改變,因為
list * n—>n shallow copies of list concatenated, n個list的淺拷貝的連線
當*3 只是對mylist的第乙個元素進行拷貝,全是乙個相同的引用,即指向同一位址,當改變第乙個元素時候,copy的其餘的元素都要改變,所以第二列的元素都改變了。
則二維陣列的產生**為
>>> lists = [[ 0 for col in range(3)] for row in range(5)]
>>> list
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> lists[0][1] = 1
>>> lists
[[0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
參考博文 陣列和多維陣列
索引陣列 帶有數字索引的陣列 關聯陣列 帶有指定鍵的陣列 多維陣列 包含乙個或多個陣列的陣列 陣列中的每個元素都包含兩項 鍵和值 php中陣列元素可以是任意型別 索引陣列 鍵 值 鍵為數字 在陣列中,鍵不能相同,值可以相同 關聯陣列 鍵 值 鍵為字串,或字串與數字混合 鍵不能相同 索引陣列 關聯陣列...
多維陣列和多維指標
指向指標的指標 指標變數在記憶體中會占用一定的空間 可以定義指標來儲存指標變數的位址 int pp本質上還是指標,只是兩個 告訴你這是乙個指向指標的指標char p null char p2 p p2 給p賦值沒有問題,但怎麼使用p 呢?這就需要我們前面多次提到的鑰匙 第一步 根據 p 這個變數,取...
多維陣列 和 多維指標
指標變數在記憶體中會占用一定的空間。可以定義指標來儲存指標變數的位址值。舉例 舉例說明,多級指標的使用,重置動態空間大小 include include int reset char p,int size,int new size else return ret int main return 0 ...