java,python 中的list和陣列的區別
阿新 • • 發佈:2018-12-09
java | 陣列 | 列表 | 備註 |
結構 | 線性結構 | 線性結構 | |
儲存位置 | 記憶體中的棧區 | 記憶體中的堆區 | |
儲存方式 | 靜態連續 | 動態不連續 | |
查詢速度 | o(1) | o(n) | o(1)速度快,按索引。o(n)速度慢,按指標 |
插入刪除 | o(n) | o(1) | o(1)速度快,動態不連續。o(n)速度慢,靜態連續,插入一個其他都要變 |
大小 | 固定 | 不固定 | |
儲存物件 | 基本資料和物件 | 物件(基本型別裝箱操作) | |
訪問 | 隨機訪問 | 不能隨機訪問,從第一個開始查詢。 | |
記憶體的利用率 | 可能浪費記憶體(因為是固定的連續空間,預先定義) | 利用率高,不會浪費空間(動態擴充套件) | |
python | python 中是沒有陣列,有列表,元組,字典,集合。這裡用python列表和Numpy陣列 比較 | ||
儲存型別 | 各種型別 | 相同型別 | |
主要用途 | 儲存各種型別資料 | 科學計算 | |
運算 | 需要很多的迴圈。遠不如Numpy陣列 | 含非常豐富的函式,且運算速度遠高於list. | |
獲得部分元素 | 切片 | 切片 |