當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python List和Array的區別用法及代碼示例


在Python中,列表和數組是用於存儲多個項目的數據結構。它們都支持元素索引以訪問它們、切片和迭代元素。在這篇文章中,我們將看到兩者之間的區別。

列表和數組的操作差異

訪問元素速度很快Python 數組因為它們是連續的,但是插入和刪除非常昂貴,因為所有元素都是從插入和刪除元素的位置線性移動的。假設數組的長度為 1000,並且我們在第 100 個位置插入/刪除元素,那麽第 100 個位置之後的所有元素都將發生移位,因此操作會變得昂貴。

訪問 a 中的元素Python列表與 Array 相同,因為 List 實際上是動態數組。在列表的開頭或中間插入或刪除元素可能效率較低,因為它可能需要移動所有後續元素,這在最壞的情況下是 linear-time 操作。

什麽是列表?

A 列表Python中是一個內置的項目集合,可以包含多種數據類型的元素,這些數據類型可以是數字、字符邏輯值等。它是一個支持負索引的有序集合。可以使用包含數據值的 [] 創建列表。使用 Python 的內置函數可以輕鬆合並和複製列表的內容。

例子:

在此示例中,我們將創建一個列表Python。列表的第一個元素是整數,第二個元素是 Pythonstring,第三個是字符列表。

Python3


# creating a list containing elements
# belonging to different data types
sample_list = [1, "Yash", ['a', 'e']]
print(type(sample_list))
print(sample_list)

輸出:

<class 'list'>
[1, 'Yash', ['a', 'e']]

什麽是數組?

一個數組是包含同質元素(即屬於相同數據類型)的向量。元素分配有連續的內存位置。通常,數組的大小是固定的。與列表相比,插入和刪除成本較高,但由於連續的內存分配,數組中的索引速度更快。可以通過導入 array 模塊來使用數組。

例子:

在此示例中,我們將使用 array 模塊的 array() 函數創建一個 Python 數組,並使用type()函數。

Python3


# importing "array" for array creations
import array as arr
  
# creating an array with integer type
a = arr.array('i', [1, 2, 3])
print(type(a))
for i in a:
    print(i, end=" ")

輸出:

<class 'array.array'>
1 2 3 

Python 中列表和數組的區別

下表顯示了Python中List和Array之間的區別:

List

大批

可以由屬於不同數據類型的元素組成

僅由屬於相同數據類型的元素組成

無需顯式導入模塊進行聲明

需要顯式導入數組聲明模塊

無法直接處理算術運算

可以直接處理算術運算

優選較短的數據項序列

較長數據項序列的首選

更大的靈活性允許輕鬆修改(添加、刪除)數據

由於添加和刪除必須逐元素完成,靈活性較低

無需任何顯式循環即可打印整個列表

必須形成一個循環來打印或訪問數組的組件

消耗更大的內存以方便添加元素

內存大小相對更緊湊

嵌套列表的大小可以是可變的 嵌套數組的大小必須相同。

可以使用以下函數執行直接操作:
count() - 用於計算列表中的特定元素
sort() - 對完整列表進行排序
max() - 給出列表中的最大值
min() - 給出列表中的最小值
sum() - 給出整數列表中所有元素的總和
index() - 給出指定元素的第一個索引
append() - 將元素添加到列表末尾
remove() - 刪除指定的元素

無需導入任何內容即可使用這些函數。
還有很多…

需要導入適當的模塊來執行這些操作。

例子:
my_list = [1,2,3,4]
例子:
導入數組
arr = array.array(‘i’, [1, 2, 3])


相關用法


注:本文由純淨天空篩選整理自yashchuahan大神的英文原創作品 Difference between List and Array in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。