對於初學者來說,有時候python的資料類型很難區分,如列表,字典,元組等,很容易混淆,下面來說它們。
一、首先,看三者最基本的差異:
List是順序的,可變的。
Dictrionary是無順序的,可變的。 Dictionary是內建資料型別之一,它定義了鍵和值之間一對一的關係。每一個元素都是一個 key-value 對, 整個元素集合用大括號括起來。
Tuple 是順序的,不可變 list。一旦創建了一個 tuple 就不能以任何方式改變它。
定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括號包圍的而不是方括號
你說的對,Tuple 是不可變 list。一旦創建了一個 tuple 就不能以任何方式改變它。
二、Tuple 與 list 的相同之處
定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括號包圍的而不是方括號。
Tuple 的元素與 list 一樣依定義的次序進行排序。 Tuples 的索引與 list 一樣從 0 開始, 所以一個非空 tuple 的第一個元素總是 t[0]。
負數索引與 list 一樣從 tuple 的尾部開始計數。
與 list 一樣分片 (slice) 也可以使用。注意當分割一個 list 時, 會得到一個新的 list ;當分割一個 tuple 時, 會得到一個新的 tuple。
三、Tuple 不存在的方法
不能增加元素到 tuple 。 Tuple 沒有 append 或 extend 方法。
不能從 tuple 刪除元素。 Tuple 沒有 remove 或 pop 方法。
不能在 tuple 中尋找元素。 Tuple 沒有 index 方法。
然而, 可以使用 in 來查看一個元素是否存在於 tuple 中。
四、用 Tuple 的好處
Tuple 比 list 操作速度快。如果定義了一個值的常數集,並且唯一要用它做的是不斷地遍歷它,請使用 tuple 代替 list。
如果對不需要修改的資料進行 “寫入保護”,可以使程式碼更安全。使用 tuple 而非 list 如同擁有一個隱含的 assert 語句,說明這資料是常數。如果必須要改變這些值,則需要執行 tuple 到 list 的轉換。
五、Tuple 與 list 的轉換
Tuple 可以轉換成 list,反之亦然。內建的 tuple 函數會接收一個 list,並傳回一個有著相同元素的 tuple
而 list 函數接收一個 tuple 回傳一個 list。從效果上看,tuple 凍結一個 list,而 list 解凍一個 tuple。
以上是python中的tuple是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!