計算機為數組分配一段連續的內存,從而支持對數組隨機訪問;
由於項的地址在編號上是連續的,數組某一項的地址可以通過將兩個值相加得出,即將數組的基本地址和項的偏移地址相加。
數組的基本地址就是數組的第一項的機器地址。一個項的偏移地址就等於它的索引乘以數組的一個項所需要的內存單元數目的一個常量表示(在python中,這個值總是1)
array 模塊就是數組,可以存放放一組相同類型的數字,array模塊是python中實現的一種高效的數組存儲類型。它和list相似,但是所有的數組成員必須是同一種類型,在創建數組的時候,就確定了數組的類型
import array arr = array.array('i',[0,1,1,3]) #創建array數組 #參數1:數據類型 #參數2:數組的初始化值 print(arr) #array('i', [0, 1, 1, 3]) x=array.typecodes #返回array可用的數據類型的代碼符號 #bBuhHiIlLqQfd x=arr.itemsize #返回數組arr的元素個數 #4 arr.append(4) #將值添加到數組的末尾 #array('i', [0, 1, 1, 3, 4]) x=arr.buffer_info() #返回數組在存儲器中的地址、元素的個數,以元組形式(地址,長度)返回 #(1633944756944, 5) arr.append(110) #array('i', [0, 1, 1, 3, 4, 110]) x=arr.count(1) #返回元素1在數組中出現的次數 # 2 L=(20,30) arr.extend(L) #將可迭代對象的元素序列附加到數據的末尾 #array('i', [0, 1, 1, 3, 4, 110, 20, 30]) LL=[200,300] arr.fromlist(LL) #將列表中的元素追加到數組后面 #array('i', [0, 1, 1, 3, 4, 110, 20, 30, 200, 300]) x=arr.index(1) #返回數組中1的最小序號 arr.insert(1,22) #在序號處插入指定元素 #參數1:位置序號 #參數2:要插入的元素 #array('i', [0, 22, 1, 1, 3, 4, 110, 20, 30, 200, 300]) x=arr.pop(6) #刪除指定索引項,並返回刪除項的元素值 #array('i', [0, 22, 1, 1, 3, 4, 20, 30, 200, 300]) arr.remove(1) #刪除第一次出現的元素值 #array('i', [0, 22, 1, 3, 4, 20, 30, 200, 300]) arr.reverse() #反轉元素的順序 #array('i', [300, 200, 30, 20, 4, 3, 1, 22, 0]) x = arr.tolist() #把數組轉換成列表 #[300, 200, 30, 20, 4, 3, 1, 22, 0] print(x,arr)