陣列是乙個容器,它可以容納一定數量的專案,這些專案是相同的型別。 大部分資料結構都使用陣列來實現它們的演算法。 以下是理解陣列(array)概念的重要術語。
元素 - 儲存在陣列中的每個專案稱為元素。
索引 - 陣列中元素的每個位置都有乙個數字索引,用於標識元素。
陣列表示
陣列可以用不同的語言,可以各種方式宣告。下面是乙個例子。
根據上述說明,需要了解清楚以下問題。
索引從0開始。
陣列長度為10,這意味著它可以儲存10個元素。
每個元素都可以通過索引訪問。 例如,可以在索引6處獲取乙個元素的值為9。
基本操作
以下是陣列支援的基本操作。
遍歷 - 逐個列印所有陣列元素。
插入 - 在給定的索引處新增乙個元素。
刪除 - 刪除給定索引處的元素。
搜尋 - 使用給定索引或值搜尋元素。
更新 - 更新給定索引處的元素。
通過將陣列模組匯入到python程式中來建立陣列,陣列宣告如下所示 -
from array import *
arrayname = array(typecode, [initializers])
typecode是用於定義陣列將儲存的值型別的**。 一些常用的typecodes使用如下:
typecode值b
表示大小為1位元組的有符號整數
b表示大小為1位元組的無符號整數
c表示大小為1位元組的字元
i表示大小為2個位元組的帶符號整數
i表示大小為2個位元組的無符號整數
f表示大小為4位元組的浮點
d表示大小為8個位元組的浮點
在檢視各種陣列操作之前,可以使用python建立和列印陣列。
下面的**建立乙個名稱為array1的陣列。
from array import *
array1 = array('i', [10,20,30,40,50])
for x in array1:
print(x)
執行上面示例**,得到以下結果 -
1. 訪問陣列元素
可以使用元素的索引來訪問陣列中的每個元素。 以下**顯示了如何訪問陣列中的指定元素 -
from array import *
array1 = array('i', [10,20,30,40,50])
# 訪問第乙個元素
print (array1[0])
# 訪問第三個元素
print (array1[2])
當編譯並執行上述程式時,它會產生以下結果 -
2. 插入操作
插入操作是將乙個或多個資料元素插入到陣列中。 根據需要,可以在開始,結束或任何給定的陣列索引中新增/插入乙個新元素。
在這裡,使用python內建insert()方法在陣列中間新增乙個資料元素。
from array import *
array1 = array('i', [10,20,30,40,50])
array1.insert(1,60)
for x in array1:
print(x)
執行上面示例**,得到以下結果 -
3. 刪除元素操作
刪除是指從陣列中刪除現有元素並重新組織陣列的所有元素。
在這裡,使用python內建remove()方法來刪除陣列中的資料元素。參考以下**實現 -
from array import *
array1 = array('i', [10,20,30,40,50])
array1.remove(40)
for x in array1:
print(x)
執行上面示例**,得到以下結果 -
4. 查詢/搜尋操作
可以根據其值或索引來執行陣列元素的搜尋(查詢)。
在這裡,使用python內建index()方法來搜尋陣列中的元素。
from array import *
array1 = array('i', [10,20,30,40,50])
print (array1.index(40))
執行上面示例**,得到以下結果 -
注意:如果該值不在陣列中,則返回乙個錯誤。
5. 更新操作
更新操作是指在給定索引處更新陣列中的現有元素。
在這裡,只需重新分配乙個新的值給想要更新的所需索引即可。
from array import *
array1 = array('i', [10,20,30,40,50])
array1[2] = 180
for x in array1:
print(x)
執行上面示例**,得到以下結果 -
¥ 我要打賞
糾錯/補充
收藏加qq群啦,易百教程官方技術學習群
注意:建議每個人選自己的技術方向**,同乙個qq最多限加 3 個群。
leetcode 189 旋轉陣列 python
題目官網上有,直接上思路 k右旋,即讓右邊後k個數依次放入前面數。思路一 直接刪除後k個,然後依次作為首項加入 class solution def rotate self,nums list int k int none for in range k len nums nums.insert 0,...
資料結構 陣列 python
陣列是一組線性資料表結構。它用一組連續的記憶體空間,來儲存一組具有相同型別的資料。1 陣列,鍊錶 佇列 棧 線性資料結構。二叉樹 堆 圖等。之所以叫非線性。2 第二個是連續的記憶體空間和相同型別的資料 3鍊錶適合插入 刪除,時間複雜度 o 1 陣列適合查詢,查詢時間複雜度為 o 1 表述不準確 4正...
Python學習筆記 1 1 2 認識Python
一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...