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

  • 2020 年 1 月 16 日
  • 筆記

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

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

  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.

Tags: