在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 |
大批 |
---|---|
可以由屬於不同數據類型的元素組成 |
僅由屬於相同數據類型的元素組成 |
無需顯式導入模塊進行聲明 |
需要顯式導入數組聲明模塊 |
無法直接處理算術運算 |
可以直接處理算術運算 |
優選較短的數據項序列 |
較長數據項序列的首選 |
更大的靈活性允許輕鬆修改(添加、刪除)數據 |
由於添加和刪除必須逐元素完成,靈活性較低 |
無需任何顯式循環即可打印整個列表 |
必須形成一個循環來打印或訪問數組的組件 |
消耗更大的內存以方便添加元素 |
內存大小相對更緊湊 |
嵌套列表的大小可以是可變的 | 嵌套數組的大小必須相同。 |
可以使用以下函數執行直接操作: 無需導入任何內容即可使用這些函數。 |
需要導入適當的模塊來執行這些操作。 |
例子: my_list = [1,2,3,4] |
例子: 導入數組 arr = array.array(‘i’, [1, 2, 3]) |
相關用法
- Python List和Tuple的區別用法及代碼示例
- Python List和Dictionary的區別用法及代碼示例
- Python List append()用法及代碼示例
- Python List extend()用法及代碼示例
- Python List insert()用法及代碼示例
- Python List remove()用法及代碼示例
- Python List index()用法及代碼示例
- Python List count()用法及代碼示例
- Python List pop()用法及代碼示例
- Python List reverse()用法及代碼示例
- Python List sort()用法及代碼示例
- Python List copy()用法及代碼示例
- Python List clear()用法及代碼示例
- Python List cmp()用法及代碼示例
- Python List len()用法及代碼示例
- Python List max()用法及代碼示例
- Python List min()用法及代碼示例
- Python List list()用法及代碼示例
- Python List remove方法用法及代碼示例
- Python List insert方法用法及代碼示例
- Python List copy方法用法及代碼示例
- Python List append方法用法及代碼示例
- Python List clear方法用法及代碼示例
- Python List pop方法用法及代碼示例
- Python List sort方法用法及代碼示例
注:本文由純淨天空篩選整理自yashchuahan大神的英文原創作品 Difference between List and Array in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。