Python 數組(Array)


如果存儲的數據類型相同,list的存儲方式就顯得不太合適,python提供了array模塊進行數組的操作。

特性:

  (1)array 中每一個元素及為值本身。

  (2)array使用連續的存儲空間存儲一組相同類型的值。

  (3)array比list具有更快的讀寫速度和更少的占用空間。

  (4)array的操作和list基本相似。

  (5)支持基本符號運算和切片

  (6)array通過格式符字符表示數據的類型。

格式符:

定義數組時必須指定數據類型,且只能為基礎類型,不能為類或者其他組合類型(如上,其中i即為int對應的格式化的值)
array 類型   C 類型             字節長度
'c' char 1
'b' signed char 1
'B' unsigned char 1
'u' Unicode char 2 (雙字節字符)
'h' signed short 2
'H' unsigned short 2
'i' signed int 4
'I' unsigned int 4
'l' signed long long 8
'L' unsigned long long 8
'f' float 4
'd' double 8

基本操作:

a1 = array.array("i")                     # 定義一個數組
a1.append(100) # 追加數據
a2 = array.array("i", (1, 2, 3, 4)) # 定義一個數組並初始化數據
a3 = a1 + a2 # 兩個數組相加 array('i', [100, 1, 2, 3, 4])

a2.append(2)           # 末尾添加一個元素
a2.buffer_info()            # 返回數組空間的首地址和數組元素個數 結果(58980416L, 5)
a2.byteswap()            # 數組中的每一個元素進行大小端轉換
a2.byteswap()
a2.count(2)            # 統計數組中2個個數
a2.extend(a1)            # 相當與 a2 += a1
a2.tofile(open("test.txt", "w+")) # a2的二進制數據寫入到文件中
a2.fromfile(open("test.txt", "r+"), 2) # 從文件中讀取2個數據追加到a2末尾
l = a2.tolist()             # a2數組轉換到list 結果 [1, 2, 3, 4, 2, 100, 1, 2]
a2.fromlist(l)              # 將list中的值轉換追加到數組a2的末尾
s = a2.tostring()             # a2 數組轉換到二進制字符串
a2.fromstring(s)              # 將二進制字符串值轉換追加到a2的末尾
a2.reverse()              # 將數組的值倒序
a2.insert(0, 100)              # 在a2下標為0的前面插入100
a2.index(2)              # 第一次匹配到2的位置
a = a2.pop()              # 返回最后一個元素,並在a2數組中刪除該元素
a = a2.pop(1)              # 返回指定下標1的元素,並在a2數組中刪除該元素

a2.typecode              # 返回數據類型格式,結果為i
a2.itemsize              # 返回數組類型的大小,結果為4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM