python 數(shù)組
數(shù)組是一個(gè)容器,它可以容納一定數(shù)量的項(xiàng)目,這些項(xiàng)目應(yīng)該是相同的類型。大多數(shù)數(shù)據(jù)結(jié)構(gòu)都使用數(shù)組來(lái)實(shí)現(xiàn)它們的算法。以下是理解array概念的重要術(shù)語(yǔ)。
- 元素 - 存儲(chǔ)在數(shù)組中的每個(gè)項(xiàng)目稱為元素。
- 索引 - 數(shù)組中元素的每個(gè)位置都有一個(gè)數(shù)字索引,用于標(biāo)識(shí)元素。
數(shù)組表示
數(shù)組可以用不同的語(yǔ)言以各種方式聲明。下面是一個(gè)例子。
根據(jù)上述說(shuō)明,以下是需要考慮的重要問(wèn)題。
- 索引從0開(kāi)始。
- 數(shù)組長(zhǎng)度為10,這意味著它可以存儲(chǔ)10個(gè)元素。
- 每個(gè)元素都可以通過(guò)索引訪問(wèn)。例如,我們可以在索引6處獲取一個(gè)元素為9。
基本操作
以下是數(shù)組支持的基本操作。
- 遍歷 - 逐個(gè)打印所有數(shù)組元素。
- 插入 - 在給定的索引處添加一個(gè)元素。
- 刪除 - 刪除給定索引處的元素。
- 搜索 - 使用給定索引或值搜索元素。
- 更新 - 更新給定索引處的元素。
通過(guò)將數(shù)組模塊導(dǎo)入到python程序中來(lái)創(chuàng)建數(shù)組。然后數(shù)組聲明為eblow所示。
from array import * arrayname = array(typecode, [initializers])
typecode是用于定義數(shù)組將保存的值類型的代碼。一些常用的typecodes使用如下:
類型代碼 | 值 |
---|---|
b | 表示大小為1字節(jié)/ td>的有符號(hào)整數(shù) |
b | 表示大小為1字節(jié)的無(wú)符號(hào)整數(shù) |
c | 表示大小為1字節(jié)的字符 |
i | 表示大小為2個(gè)字節(jié)的帶符號(hào)整數(shù) |
i | 表示大小為2個(gè)字節(jié)的無(wú)符號(hào)整數(shù) |
f | 表示大小為4字節(jié)的浮點(diǎn) |
d | 表示大小為8個(gè)字節(jié)的浮點(diǎn) |
在查看各種數(shù)組操作之前,可以使用python創(chuàng)建和打印數(shù)組。
下面的代碼創(chuàng)建一個(gè)名為array1的數(shù)組。
from array import * array1 = array('i', [10,20,30,40,50]) for x in array1: print(x)
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
輸出
10 20 30 40 50
訪問(wèn)數(shù)組元素
我們可以使用元素的索引來(lái)訪問(wèn)數(shù)組中的每個(gè)元素。以下代碼顯示了如何
from array import * array1 = array('i', [10,20,30,40,50]) print (array1[0]) print (array1[2])
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)產(chǎn)生以下結(jié)果 - 它顯示元素被插入索引位置1。
輸出
10 30
插入操作
插入操作是將一個(gè)或多個(gè)數(shù)據(jù)元素插入到數(shù)組中。根據(jù)需要,可以在開(kāi)始,結(jié)束或任何給定的數(shù)組索引中添加一個(gè)新元素。
在這里,我們使用python 內(nèi)建 insert()
方法在數(shù)組中間添加一個(gè)數(shù)據(jù)元素。
from array import * array1 = array('i', [10,20,30,40,50]) array1.insert(1,60) for x in array1: print(x)
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)產(chǎn)生以下結(jié)果,表明元素被插入索引位置1。
輸出
10 60 20 30 40 50
刪除操作
刪除是指從數(shù)組中刪除現(xiàn)有元素并重新組織數(shù)組的所有元素。
在這里,我們使用python 內(nèi)建 remove()
方法刪除數(shù)組中間的數(shù)據(jù)元素。
from array import * array1 = array('i', [10,20,30,40,50]) array1.remove(40) for x in array1: print(x)
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)生成以下結(jié)果,顯示元素已從數(shù)組中移除。
輸出
10 20 30 50
搜索操作
您可以根據(jù)其值或索引執(zhí)行數(shù)組元素的搜索。
在這里,我們使用python 內(nèi)建 index()
方法搜索數(shù)據(jù)元素。
from array import * array1 = array('i', [10,20,30,40,50]) print (array1.index(40))
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)生成以下顯示元素索引的結(jié)果。如果該值不在數(shù)組中,則eprogram返回一個(gè)錯(cuò)誤。
輸出
3
更新操作
更新操作是指在給定索引處更新數(shù)組中的現(xiàn)有元素。
在這里,我們只是重新分配一個(gè)新的值給我們想要更新的期望的索引。
from array import * array1 = array('i', [10,20,30,40,50]) array1[2] = 80 for x in array1: print(x)
當(dāng)我們編譯并執(zhí)行上述程序時(shí),它會(huì)產(chǎn)生以下結(jié)果,它顯示索引位置2處的新值。
輸出
10 20 80 40 50