Python基礎:列表(list)和元組(tuple)


 

學一門語言,可以用對比其他語言方法加深對這門語言特點的理解。

一、定義:列表和元組,都是一個可以放置任意數據類型的有序集合。

  mutable的列表:動態的,可以改變元素

  immutable的元組:靜態的,不可以改變元素

二、支持負數索引,支持切片,支持嵌套

  切片操作:

list = [1, 2, 3, 4]
l[1:3] # 返回列表中索引從 1 到 2 的子列表 (不包含3)
[2, 3]

tup = (1, 2, 3, 4)
tup[1:3] # 返回元組中索引從 1 到 2 的子元組 (不包含3)
(2, 3) 

 

  接着比較下list 與 tuple的存儲空間與執行時間的差異。

三、存儲空間差異。

  tuple是靜態的固定大小的,而list是動態分配存儲空間,自動擴容的。

  同樣的元素,list要存儲指向元素的指針與要存儲當前長度大小,所以要比tuple占更多的存儲空間。例:

l = [1, 2, 3]
l.__sizeof__()
64
tup = (1, 2, 3)
tup.__sizeof__()
48

 四、使用場景

  存儲數據固定不變的用tuple,如函數返回值

  存儲數據可變的情況用用list.

 

 

參考資料:

極客時間《Python核心技術與實戰》專欄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM