計(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)注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
