Python 列表和陣列有什麼區別?
在 Python 中,陣列和列表都用於儲存資料作為資料結構。在本文中,我們將討論列表和陣列之間的區別。
列表
列表 是 Python 提供的四種最常用的 資料結構 之一。列表是 Python 中一種可變的資料結構,它具有元素的有序序列。列表也支援負索引。
以下是一個整數列表:
lis= [1,2,3,4,5] print(lis)
輸出
如果您執行上述程式碼段,將產生以下輸出:
[1, 2, 3, 4, 5]
陣列
一個 陣列 是一種資料結構,以線性格式儲存資料。陣列包含固定數量的元素,並且這些元素必須是同構的(具有相同的資料型別)。它也使用方括號表示,有序、可變和有序。
透過匯入 array 模組宣告陣列。
在 Python 中,我們必須匯入 array 模組或匯入 NumPy 來宣告陣列。
示例
import array as arr sample_array = arr.array("i", [1, 2, 3, 4]) print(sample_array) print(type(sample_array))
輸出
以上程式碼產生以下結果
array('i', [1, 2, 3, 4])
<type 'array.array'>
透過匯入 Numpy 宣告陣列
在這個例子中,我們將透過匯入 numpy 模組來宣告一個數組。
import numpy as np sample_array = np.array([1, 2, 3, 4]) print(sample_array) print(type(sample_array))
輸出
以上程式碼產生以下結果
[1 2 3 4] <class 'numpy.ndarray'>
Python 中列表和陣列的區別
以下是 Python 中列表和陣列的一些重要區別。
| 列表 | 陣列 |
|---|---|
| 列表是異構的(它們可以儲存不同資料型別的值)。 | 陣列是同構的(它們只能儲存相同資料型別的值)。 |
| 宣告列表不需要匯入任何模組。 | 我們需要顯式匯入模組才能宣告陣列。 |
| 列表不能處理算術運算 | 陣列可以處理算術運算。 |
| 與陣列相比,列表消耗更多的記憶體 | 與列表相比,陣列的記憶體佔用更緊湊。 |
| 資料項的修改(如插入、刪除和更新)很簡單。 | 修改陣列很困難,因為新增、刪除和更新操作一次只能對單個元素執行。 |
| 它可以巢狀以儲存多種型別的元件。 | 所有巢狀元件必須具有相同的大小。 |
| 我們可以藉助顯式迴圈列印整個列表。 | 我們可以無需顯式迴圈即可列印整個列表。 |
| 對於短資料序列,建議使用列表。 | 對於較長的資料序列,建議使用陣列。 |
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP