python的數組模塊——array


array概述

雖然python列表既靈活又簡單,但是面對各類需求時,我們可能有更好的選擇。比如,要存放1000萬個浮點數的話,數組(array)的效率要高得多,因為數組在背后存的並不是float對象,而是數字的機器翻譯,也就是字節表述。如果我們需要一個只包含數字的列表,那么array.array比list更高效。數組支持所有跟可變序列有關的操作,包括.pop、.insert、和.extend。另外,數組還提供從文件讀取和存入文件的方法,如.frombytes和.tofile。

array的創建方式

arr_name = array.array(typecode[, initializer])
在創建python array時,需要指定一個類型碼,這個類型碼用來表示底層的C語言應該存放怎樣的數據類型。比如b類型表示有符號的字符(signed char),因此array('b')創建出的數組就只能存放一個字節大小的整數,范圍從-128到127。

操作演示

創建array

from array import array

arr = array('i', [10, 20, 30, 40, 50])
for x in arr:
    print(x)

輸出:
10
20
30
40
50

上面代碼創建了一個大小為2個字節的帶符號整數數組,並將其輸出。

其他類型碼

Type code C Type Python Type Minimum size in bytes
'b' signed char int 1
'B' unsigned char int 1
'h' signed short int 2
'H' unsigned short int 2
'i' signed int int 2
'I' unsigned int int 2
'l'(lower L) signed long int 4
'L' unsigned long int 4
'q' signed long long int 8
'Q' unsigned long long int 8
'f' float float 4
'd' double float 8

訪問數組

from array import array

arr = array('i', [10, 20, 30, 40, 50])

print(arr[0])
print(arr[1])

輸出:
10
20

插入操作

from array import array

arr = array('i', [10, 20, 30, 40, 50])

arr.insert(1, 60)
for x in arr:
    print(x)

輸出:
10
60
20
30
40
50

刪除元素

from array import array

arr = array('i', [10, 20, 30, 40, 50])

arr.remove(40)
for x in arr:
    print(x)

輸出:
10
20
30
50

查找元素的索引

from array import array

arr = array('i', [10, 20, 30, 40, 50])

print(arr.index(40))

輸出:
3

參考


免責聲明!

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



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