亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中標(biāo)準(zhǔn)庫(kù)array數(shù)組操作舉例詳解

 更新時(shí)間:2025年04月18日 09:22:17   作者:騎個(gè)小蝸牛  
這篇文章主要介紹了Python中標(biāo)準(zhǔn)庫(kù)array數(shù)組操作的相關(guān)資料,Python的array模塊提供了固定類(lèi)型數(shù)組類(lèi),用于高效存儲(chǔ)同類(lèi)型元素,節(jié)省內(nèi)存并支持?jǐn)?shù)值計(jì)算,需要的朋友可以參考下

模塊介紹

Python 標(biāo)準(zhǔn)庫(kù)中的 array 模塊提供了一個(gè)固定類(lèi)型數(shù)組類(lèi),用于高效地存儲(chǔ)同類(lèi)型的元素。

與內(nèi)置的 list 類(lèi)型相比,array 更加節(jié)省內(nèi)存并且能夠處理大量數(shù)據(jù)。array 主要用于數(shù)值計(jì)算和處理大規(guī)模的同類(lèi)型數(shù)據(jù)。由于其內(nèi)部存儲(chǔ)方式比列表更為緊湊,array 在某些場(chǎng)景下可以提高程序的性能,特別是涉及大量數(shù)值運(yùn)算時(shí)。

使用場(chǎng)景

  • 數(shù)值計(jì)算:如果需要大量存儲(chǔ)數(shù)值數(shù)據(jù)且元素類(lèi)型相同,array 是一個(gè)不錯(cuò)的選擇。它在內(nèi)存中以固定大小的格式存儲(chǔ)數(shù)據(jù),適合進(jìn)行數(shù)值計(jì)算。
  • 優(yōu)化內(nèi)存:對(duì)于只需要存儲(chǔ)簡(jiǎn)單數(shù)據(jù)類(lèi)型(如整數(shù)或浮點(diǎn)數(shù))的情況,array 比 list 更加節(jié)省內(nèi)存。
  • 文件操作:array 支持直接與二進(jìn)制文件交互,將數(shù)據(jù)以二進(jìn)制格式讀取或?qū)懭胛募?,適用于大規(guī)模數(shù)據(jù)的存儲(chǔ)和讀取。

主要類(lèi)

類(lèi)描述
array用于創(chuàng)建一個(gè)固定類(lèi)型的數(shù)組對(duì)象,數(shù)組元素類(lèi)型一致,支持高效的內(nèi)存存儲(chǔ)。

- array

參數(shù):

  • typecode:一個(gè)字符,表示數(shù)組中元素的類(lèi)型。常見(jiàn)的類(lèi)型碼有:
    • b:有符號(hào)字符(byte)
    • B:無(wú)符號(hào)字符
    • u:Unicode字符(Python3.3已棄用)
    • h:有符號(hào)短整型
    • H:無(wú)符號(hào)短整型
    • i:有符號(hào)整型
    • I:無(wú)符號(hào)整型
    • l:有符號(hào)長(zhǎng)整型
    • L:無(wú)符號(hào)長(zhǎng)整型
    • f:浮點(diǎn)型
    • d:雙精度浮點(diǎn)型
  • initializer:可選,用于初始化數(shù)組的內(nèi)容,可以是一個(gè)列表、元組或其他可迭代對(duì)象。
import array

# 創(chuàng)建一個(gè)包含整數(shù)的數(shù)組
arr_int = array.array('i', [1, 2, 3, 4, 5])
print(arr_int)  # 輸出: array('i', [1, 2, 3, 4, 5])

# 創(chuàng)建一個(gè)包含浮點(diǎn)數(shù)的數(shù)組
arr_float = array.array('f', [1.1, 2.2, 3.3])
print(arr_float)  # 輸出: array('f', [1.100000023841858, 2.200000047683716, 3.299999952316284])

主要函數(shù)

函數(shù)描述示例
array.append(x)向數(shù)組末尾添加元素 x。arr.append(5) 將 5 添加到數(shù)組末尾。
array.insert(i, x)在指定索引 i 處插入元素 x。arr.insert(1, 10) 在索引 1 處插入 10。
array.remove(x)移除數(shù)組中第一個(gè)匹配元素 x。arr.remove(2) 移除第一個(gè)出現(xiàn)的 2。
array.pop([i])移除并返回索引 i 處的元素,若未指定則默認(rèn)刪除最后一個(gè)元素。arr.pop(1) 刪除并返回索引 1 處的元素。
array.extend(iter)向數(shù)組添加可迭代對(duì)象 iter 中的所有元素。arr.extend([6, 7]) 將 [6, 7] 添加到數(shù)組末尾。
array.reverse()反轉(zhuǎn)數(shù)組中的元素順序。arr.reverse() 反轉(zhuǎn)數(shù)組中的元素。
array.tofile(file)將數(shù)組的元素寫(xiě)入到指定的文件。arr.tofile(f) 將數(shù)組寫(xiě)入文件 f。
array.fromfile(file, count)從文件讀取 count 個(gè)元素并存入數(shù)組。arr.fromfile(f, 4) 從文件 f 中讀取4個(gè)元素。
array.index(x)返回?cái)?shù)組中第一次出現(xiàn)元素 x 的索引。arr.index(3) 返回元素 3 的索引。
array.count(x)返回?cái)?shù)組中元素 x 出現(xiàn)的次數(shù)。arr.count(3) 返回元素 3 出現(xiàn)的次數(shù)。

- append()

追加元素

# 追加元素
arr_int.append(6)
print(arr_int)  # 輸出: array('i', [1, 2, 3, 4, 5, 6])

- insert()

插入元素

# 插入元素
arr_int.insert(2, 10)  # 在索引2處插入10
print(arr_int)  # 輸出: array('i', [1, 2, 10, 3, 4, 5, 6])

- remove()

刪除元素

# 刪除元素
arr_int.remove(4)  # 刪除第一個(gè)出現(xiàn)的4
print(arr_int)  # 輸出: array('i', [1, 2, 10, 3, 5, 6])

- pop()

彈出元素

# 彈出元素
popped = arr_int.pop(3)  # 彈出索引3處的元素
print(popped)  # 輸出: 3
print(arr_int)  # 輸出: array('i', [1, 2, 10, 5, 6])

- reverse()

反轉(zhuǎn)數(shù)組

# 反轉(zhuǎn)數(shù)組
arr_int.reverse()
print(arr_int)  # 輸出: array('i', [6, 5, 10, 2, 1])

- count()

計(jì)算元素出現(xiàn)次數(shù)

# 計(jì)算元素出現(xiàn)次數(shù)
print(arr_int.count(10))  # 輸出: 1

- index()

查找元素索引

# 查找元素索引
print(arr_int.index(5))  # 輸出: 1

- open()

讀寫(xiě)文件

# 寫(xiě)入文件
arr_int = array.array('i', [1, 2, 3, 4, 5])
with open('array_data.bin', 'wb') as f:
    arr_int.tofile(f)

# 從文件讀取
arr_new = array.array('i', [0, 0, 0, 0, 0])
with open('array_data.bin', 'rb') as f:
    arr_new.fromfile(f, 5)
print(arr_new)  # 輸出: array('i', [1, 2, 3, 4, 5])

注意事項(xiàng)

  • 類(lèi)型限制:array 中的元素類(lèi)型必須一致,并且只能存儲(chǔ)基本數(shù)據(jù)類(lèi)型(如整數(shù)、浮點(diǎn)數(shù)等)。如果需要存儲(chǔ)不同類(lèi)型的數(shù)據(jù),可以使用列表。

  • 類(lèi)型碼:在創(chuàng)建 array 時(shí),必須指定一個(gè)有效的類(lèi)型碼(如 ‘i’ 表示整數(shù),‘f’ 表示浮點(diǎn)數(shù))。不同類(lèi)型的元素不能混合在同一個(gè)數(shù)組中。

  • 內(nèi)存優(yōu)化:array 比 list 更節(jié)省內(nèi)存,特別是在處理大量數(shù)值數(shù)據(jù)時(shí)。如果只需存儲(chǔ)數(shù)值數(shù)據(jù),array 是比 list 更高效的選擇。

  • 操作效率:array 主要用于高效存儲(chǔ)和處理大量數(shù)據(jù),特別適合進(jìn)行數(shù)值計(jì)算和與文件的二進(jìn)制交互,但不如 list 靈活,特別是在需要處理多種不同數(shù)據(jù)類(lèi)型時(shí)。

  • 不支持復(fù)雜類(lèi)型:array 不支持存儲(chǔ)復(fù)雜的類(lèi)型(如字典、列表等),只能存儲(chǔ)基本數(shù)據(jù)類(lèi)型。

總結(jié)

Python 中的 array 模塊提供了一種高效的方式來(lái)存儲(chǔ)和處理同類(lèi)型的數(shù)據(jù)。與 Python 列表相比,array 在內(nèi)存使用上更為節(jié)省,特別適合用于數(shù)值計(jì)算、處理大量數(shù)據(jù)的場(chǎng)景。它通過(guò)強(qiáng)制元素類(lèi)型一致性來(lái)保證高效存儲(chǔ),但也因此限制了它的靈活性。對(duì)于需要處理大量數(shù)值數(shù)據(jù)或需要與二進(jìn)制文件交互的應(yīng)用,array 是一個(gè)理想的選擇。

相關(guān)文章

  • python自動(dòng)計(jì)算圖像數(shù)據(jù)集的RGB均值

    python自動(dòng)計(jì)算圖像數(shù)據(jù)集的RGB均值

    這篇文章主要為大家詳細(xì)介紹了python自動(dòng)計(jì)算圖像數(shù)據(jù)集的RGB均值,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python使用htpasswd實(shí)現(xiàn)基本認(rèn)證授權(quán)的例子

    Python使用htpasswd實(shí)現(xiàn)基本認(rèn)證授權(quán)的例子

    這篇文章主要介紹了Python使用htpasswd實(shí)現(xiàn)基本認(rèn)證授權(quán)的例子,服務(wù)器使用的是mini_httpd,需要的朋友可以參考下
    2014-06-06
  • Python學(xué)習(xí)之私有函數(shù),私有變量及封裝詳解

    Python學(xué)習(xí)之私有函數(shù),私有變量及封裝詳解

    私有函數(shù)與私有變量中的私有就是獨(dú)自擁有、不公開(kāi)、不分享的意思。放到函數(shù)與變量中就是獨(dú)自擁有的函數(shù)與獨(dú)自擁有的變量,并且不公開(kāi)。本文將通過(guò)示例詳細(xì)講解Python中的私有函數(shù)、私有變量及封裝,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python使用Matlab命令過(guò)程解析

    Python使用Matlab命令過(guò)程解析

    這篇文章主要介紹了Python使用Matlab命令過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python Pytorch gpu 分析環(huán)境配置

    Python Pytorch gpu 分析環(huán)境配置

    Pytorch是目前最火的深度學(xué)習(xí)框架之一,目前也支持了pytorch的GPU加速,所以我就想著,在這兩個(gè)電腦上裝個(gè)Pytorch,這篇文章主要介紹了Python Pytorch(gpu)分析環(huán)境配置,需要的朋友可以參考下
    2023-04-04
  • Python并發(fā)編程之未來(lái)模塊Futures

    Python并發(fā)編程之未來(lái)模塊Futures

    這篇文章主要為大家介紹了Python的未來(lái),python并發(fā)編程之未來(lái)模塊Futures的詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python計(jì)數(shù)排序和基數(shù)排序算法實(shí)例

    python計(jì)數(shù)排序和基數(shù)排序算法實(shí)例

    這篇文章主要介紹了python計(jì)數(shù)排序和基數(shù)排序算法實(shí)例,需要的朋友可以參考下
    2014-04-04
  • python用10行代碼實(shí)現(xiàn)對(duì)黃色圖片的檢測(cè)功能

    python用10行代碼實(shí)現(xiàn)對(duì)黃色圖片的檢測(cè)功能

    這篇文章主要介紹了python用10行代碼實(shí)現(xiàn)對(duì)黃色圖片的檢測(cè)功能,涉及Python基于圖片庫(kù)PIL對(duì)圖片的檢測(cè)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • python多線程性能測(cè)試之快速mock數(shù)據(jù)

    python多線程性能測(cè)試之快速mock數(shù)據(jù)

    這篇文章主要為大家介紹了python多線程性能測(cè)試之快速mock數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python3 單行多行萬(wàn)能正則匹配方法

    Python3 單行多行萬(wàn)能正則匹配方法

    今天小編就為大家分享一篇Python3 單行多行萬(wàn)能正則匹配方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論