Python當(dāng)中的array數(shù)組對(duì)象實(shí)例詳解
計(jì)算機(jī)為數(shù)組分配一段連續(xù)的內(nèi)存,從而支持對(duì)數(shù)組隨機(jī)訪問(wèn);
由于項(xiàng)的地址在編號(hào)上是連續(xù)的,數(shù)組某一項(xiàng)的地址可以通過(guò)將兩個(gè)值相加得出,即將數(shù)組的基本地址和項(xiàng)的偏移地址相加。
數(shù)組的基本地址就是數(shù)組的第一項(xiàng)的機(jī)器地址。一個(gè)項(xiàng)的偏移地址就等于它的索引乘以數(shù)組的一個(gè)項(xiàng)所需要的內(nèi)存單元數(shù)目的一個(gè)常量表示(在python中,這個(gè)值總是1)
import array
#array模塊是python中實(shí)現(xiàn)的一種高效的數(shù)組存儲(chǔ)類型。它和list相似,但是所有的數(shù)組成員必須是同一種類型,在創(chuàng)建數(shù)組的時(shí)候,就確定了數(shù)組的類型
#array.array(typecode,[initializer]) --typecode:元素類型代碼;initializer:初始化器,若數(shù)組為空,則省略初始化器
arr = array.array('i',[0,1,1,3])
print(arr)
#array.typecodes --模塊屬性
print('\n輸出一條 包含所有可用類型代碼的字符串:')
print(array.typecodes) #注意調(diào)用者是模塊名,不是某個(gè)對(duì)象
#array.typecode -- 對(duì)象屬性
print('\n 輸出 用于創(chuàng)建數(shù)組的類型代碼字符:')
print(arr.typecode)
#array.itemsize --對(duì)象屬性
print('\n輸出 數(shù)組的元素個(gè)數(shù):')
print(arr.itemsize)
#array.append(x) --對(duì)象方法
print('\n將一個(gè)新值附加到數(shù)組的末尾:')
arr.append(4)
print(arr)
#array.buffer_info() -- 對(duì)象方法
print('\n獲取數(shù)組在存儲(chǔ)器中的地址、元素的個(gè)數(shù),以元組形式(地址、長(zhǎng)度)返回:')
print(arr.buffer_info())
#array.count(x) -- 對(duì)象方法
print('\n獲取元素1在數(shù)組中出現(xiàn)的次數(shù):')
print(arr.count(1))
#array.extend(iterable) -- 對(duì)象方法:將可迭代對(duì)象的袁旭序列附加到數(shù)組的末尾,合并兩個(gè)序列
print('\n將可迭代對(duì)象的元素序列附加到數(shù)據(jù)的末尾,合并兩個(gè)序列:')
#注意:附加元素?cái)?shù)值類型必須與調(diào)用對(duì)象的元素的數(shù)值類型一致
_list = [5,6,7]
arr.extend(_list)
print(arr)
#array.fromlist(list) --對(duì)象方法:將列表中的元素追加到數(shù)組后面,相當(dāng)于for x in list:a.append(x)
print('\n將列表中的元素追加到數(shù)組后面,相當(dāng)于for x in list:a.append(x):')
arr.fromlist(_list)
print(arr)
#array.index(x) --對(duì)象方法:返回?cái)?shù)組中x的最小下標(biāo)
print('\n返回?cái)?shù)組中1的最小下標(biāo):')
print(arr.index(1))
#array.insert(1) --對(duì)象方法:在下表i(負(fù)值表示倒數(shù))之前插入值x
print('\n在下表1(負(fù)值表示倒數(shù))之前插入值0:')
arr.insert(1,0)
print(arr)
#array.pop(i) --對(duì)象方法:刪除索引為i的項(xiàng),并返回它
print('\n刪除索引為4的項(xiàng),并返回它:')
print(arr.pop(4))
print(arr)
#array.remove(x) --對(duì)象方法:刪除第一次出現(xiàn)的元素x
print('\n刪除第一次出現(xiàn)的元素5:')
arr.remove(5)
print(arr)
#array.reverse() --對(duì)象方法:反轉(zhuǎn)數(shù)組中的元素值
print('\n將數(shù)組arr中元素的順序反轉(zhuǎn):')
arr.reverse()
print(arr)
#array.tolist():將數(shù)組轉(zhuǎn)換為具有相同元素的列表(list)
print('\n將數(shù)組arr轉(zhuǎn)換為已給具有相同元素的列表:')
li = arr.tolist()
print(li)
輸出結(jié)果:
D:\python\test0611\venv\Scripts\python.exe D:/python/test0611/test.py
array('i', [0, 1, 1, 3])
輸出一條 包含所有可用類型代碼的字符串:
bBuhHiIlLqQfd
輸出 用于創(chuàng)建數(shù)組的類型代碼字符:
i
輸出 數(shù)組的元素個(gè)數(shù):
4
將一個(gè)新值附加到數(shù)組的末尾:
array('i', [0, 1, 1, 3, 4])
獲取數(shù)組在存儲(chǔ)器中的地址、元素的個(gè)數(shù),以元組形式(地址、長(zhǎng)度)返回:
(2325235347184, 5)
獲取元素1在數(shù)組中出現(xiàn)的次數(shù):
2
將可迭代對(duì)象的元素序列附加到數(shù)據(jù)的末尾,合并兩個(gè)序列:
array('i', [0, 1, 1, 3, 4, 5, 6, 7])
將列表中的元素追加到數(shù)組后面,相當(dāng)于for x in list:a.append(x):
array('i', [0, 1, 1, 3, 4, 5, 6, 7, 5, 6, 7])
返回?cái)?shù)組中1的最小下標(biāo):
1
在下表1(負(fù)值表示倒數(shù))之前插入值0:
array('i', [0, 0, 1, 1, 3, 4, 5, 6, 7, 5, 6, 7])
刪除索引為4的項(xiàng),并返回它:
3
array('i', [0, 0, 1, 1, 4, 5, 6, 7, 5, 6, 7])
刪除第一次出現(xiàn)的元素5:
array('i', [0, 0, 1, 1, 4, 6, 7, 5, 6, 7])
將數(shù)組arr中元素的順序反轉(zhuǎn):
array('i', [7, 6, 5, 7, 6, 4, 1, 1, 0, 0])
將數(shù)組arr轉(zhuǎn)換為已給具有相同元素的列表:
[7, 6, 5, 7, 6, 4, 1, 1, 0, 0]
Process finished with exit code 0
所有數(shù)值類型的字符代碼表:

總結(jié)
以上所述是小編給大家介紹的Python當(dāng)中的array數(shù)組對(duì)象 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python通用函數(shù)實(shí)現(xiàn)數(shù)組計(jì)算的方法
- python簡(jiǎn)單獲取數(shù)組元素個(gè)數(shù)的方法
- 用python一行代碼得到數(shù)組中某個(gè)元素的個(gè)數(shù)方法
- Python實(shí)現(xiàn)在某個(gè)數(shù)組中查找一個(gè)值的算法示例
- python統(tǒng)計(jì)多維數(shù)組的行數(shù)和列數(shù)實(shí)例
- 用python求一個(gè)數(shù)組的和與平均值的實(shí)現(xiàn)方法
- Python實(shí)現(xiàn)一個(gè)數(shù)組除以一個(gè)數(shù)的例子
相關(guān)文章
Python中import導(dǎo)入上一級(jí)目錄模塊及循環(huán)import問(wèn)題的解決
Python中的import語(yǔ)句導(dǎo)入模塊相信大家再熟悉不過(guò)了,這里我們會(huì)來(lái)講解Python中import導(dǎo)入上一級(jí)目錄模塊及循環(huán)import問(wèn)題的解決,需要的朋友可以參考下2016-06-06
Django如何實(shí)現(xiàn)內(nèi)容緩存示例詳解
緩存對(duì)于大家來(lái)說(shuō)應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Django如何實(shí)現(xiàn)內(nèi)容緩存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
一文帶你玩轉(zhuǎn)python中的requests函數(shù)
在Python中,requests庫(kù)是用于發(fā)送HTTP請(qǐng)求的常用庫(kù),因?yàn)樗峁┝撕?jiǎn)潔易用的接口,本文將深入探討requests庫(kù)的使用方法,感興趣的可以學(xué)習(xí)下2023-08-08
python itchat實(shí)現(xiàn)調(diào)用微信接口的第三方模塊方法
這篇文章主要介紹了python itchat實(shí)現(xiàn)調(diào)用微信接口的第三方模塊方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python實(shí)現(xiàn)Microsoft Office自動(dòng)化的幾種方式及對(duì)比詳解
辦公自動(dòng)化是指利用現(xiàn)代化設(shè)備和技術(shù),代替辦公人員的部分手動(dòng)或重復(fù)性業(yè)務(wù)活動(dòng),優(yōu)質(zhì)而高效地處理辦公事務(wù),實(shí)現(xiàn)對(duì)信息的高效利用,進(jìn)而提高生產(chǎn)率,實(shí)現(xiàn)輔助決策的目的,所以本文給大家介紹了Python實(shí)現(xiàn)Microsoft Office自動(dòng)化的幾種方式,需要的朋友可以參考下2025-03-03

