Python中,tuple的優勢是什麼

2021-07-08 21:45:38 字數 3136 閱讀 7762

1樓:夙沙曲

一、首先,看看三者最基本的區別:

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 沒有 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

2樓:韌勁

tuple 操作速度快。如果您定義了一個值的常量集,並且唯一要用它做的是不斷地遍歷它,請使用 tuple 。

如果對不需要修改的資料進行 「防寫」,可以使**更安全。說明這一資料是常量。如果必須要改變這些值,則需要執行 tuple 到 list 的轉換。

tuple 的其他應用

一次賦多值

>>> v = ('a', 'b', 'e')>>> (x, y, z) = v

解釋:v 是一個三元素的 tuple, 並且 (x, y, z) 是一個三變數的 tuple。將一個 tuple 賦值給另一個 tuple, 會按順序將 v 的每個值賦值給每個變數。

python 中什麼情況下要用到 tuple ?

3樓:慣性水瓶

python的函式可以有多返回值的,而python裡,多返回值,就是用tuple來表示,這是用的最廣的了。

python的元組與列表類似,不同之處在於元組的元素不能修改,元組使用小括號,列表使用方括號,元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。

tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:

>>> classmates = ('michael', 'bob', 'tracy')

不可變的tuple有什麼意義?因為tuple不可變,所以**更安全。如果可能,能用tuple代替list就儘量用tuple。

python的tuple與list有什麼不同,各有什麼作用?

4樓:匿名使用者

tuple本身不可變的,list本身可變的,tuple能幹的事情list都可以幹,如果你希望你定義的資料結構是一旦定義就不能改變的話,用tuple,其他用list

5樓:匿名使用者

tuple是不可變序列

list是可變序列,通過sort等方法

語法上tuple使用圓括號「()」,且若只有一個元素,後面要給一個逗號

list使用方括號「」

6樓:匿名使用者

tuple元組 本身具有不可變性 例如a=(1,2,3) a[0]=2 返回error

list 列表 本身具有可變性 例如a=[1,2,3] a[0]=2 那麼a=[2,2,3]

在變成過程中list用到的相對多 變成過程中很多得到的結果就是元組和列表

7樓:

tuple,可以說是不可變的list,訪問方式還是通過索引下標的方式。

當你明確定義個tuple是,如果僅有一個元素,必須帶有,例如:(1,)。

當然,在2.7以後的版,python裡還增加了命名式的tuple!

至於有什麼用,首先第一點,樓主玩過python都知道,python的函式可以有多返回值的,而python裡,多返回值,就是用tuple來表示,這是用的最廣的了,

比如說,你需要定義一個常量的列表,但你又不想使用list,那也可以是要你管tuple,例如:

if a in ('a','b','c'):pass

最後,歡迎來到我的python小組:fashtime.com,交流更多python的問題!

python中的tuple指向問題

8樓:日time寸

l = [1,2,3]

對於列表變數l中其實儲存的

是列表的*位置*,而不是值

t = (l, 4)

tuple中儲存的也就是list的位專置,如果列屬表l的值變化了,但是位置並沒有變換,所以t仍然是沒有變化的。

python中的小問題,python中的一個小問題

函式遞迴呼叫的終止條件是引數n為0的時候,那你要保證n是整型。階乘本來就是整數的運算。符點數是不精確的,不建議用 來判斷是否和某個值相等,也即是n 0是基本上不會成立的。python中一個小問題 第一行你寫的是tempstr,s打的小寫的。下面成了大寫的 關於python的一個小問題 20 pyth...

python問題,python中的,問題?

反轉一個list,返回一個迭代器 iterator 如 range 10 0,1,2,3,4,5,6,7,8,9 reversed range 10 x for x in reversed range 10 9,8,7,6,5,4,3,2,1,0 還可以這樣完成反轉 range 10 1 9,8,7...

python中的ifnamemainmain 是什麼意思呢

這個指令碼被執行的時候,name 值就是 main 才會執行 main 函式 如果這個指令碼是被 import 的話,name 的值不一樣。main 函式就不會被呼叫。這個句子用來寫既能直接執行,又能給其他python程式import,提供庫呼叫的指令碼 python裡if name main 是幹...