?定義 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. 六、Tuple 的其他應用 一次賦多值 >>> v = ('a','b','e') >>> (x,y,z) = v
2016-10-29
謝謝您!
2016-10-29
一、首先,看看二者最基本的區別:
List是順序的,可變的.
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.
六、Tuple 的其他應用
一次賦多值
>>> v = ('a','b','e')
>>> (x,y,z) = v
?