[Python] [tuple] 學習筆記

元組(tuple):

Python 中的一種內置資料結構,用於儲存有序且不可變(immutable)的元素集合
與 list 不同,tuple 一旦創建後,其內容無法修改(例如添加、刪除或更改元素)
正因為其不可變性,tuple 通常用於儲存不應被修改的數據,例如固定配置、常量值或作為字典的鍵

特性:

  • 有序性:tuple 中的元素按順序儲存,可以通過索引訪問
  • 不可變性:tuple 創建後無法修改其內容
  • 可嵌套:tuple 可以包含其他 tuple 或其他資料結構(如 list)
  • 可哈希(Hashable):由於不可變性,tuple 可以作為字典的鍵或集合的元素

 

tuple v.s. list:
tuple通常可以用來取代串列,但tuple的功能較少,沒有append()、insert()等等
為何不使用串列來取代所有的tuple?

  • tuple 不可變,list 可變
  • tuple佔用的空間較少
  • 不會不小心破壞tuple的項目(因為不可變)
  • 可以將tuple當成字典鍵
  • 可以將具名tuple當成物件的簡化替代品
  • 函式引數是以tuple的形式傳入的

創建 tuple

 

tuple 方法:
count()、index()

 

tuple 常用操作:

 

具名元組 (namedtuple)
namedtuple 是 Python 中 collections 模組提供的一個工廠函數,用於創建具有命名字段的輕量級元組子類,它結合了元組的不可變性和字典的可讀性,適合用來儲存簡單的資料結構

特點:

  • 不可變性:創建後,namedtuple 的字段無法修改
  • 命名字段:可以通過字段名稱來存取資料,提升程式碼的可讀性
  • 記憶體高效:與普通類別相比,namedtuple 佔用的記憶體更少

namedtuple 適合用來儲存簡單的不可變資料,兼具元組的高效性和字典的可讀性,常用於替代簡單的類別或字典,如果你需要一個輕量且不可變的資料結構,namedtuple 是一個很好的選擇

 

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *