Python中,tuple的優勢是什麼

2021-07-08 21:46:41 字數 3136 閱讀 3946

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 中怎麼理解 new

這篇文章主要介紹了python中的 init 和 new 的區別和例項詳解它們的作用,需要的朋友可以參考下 一 init 方法是什麼?使用python寫過物件導向的 的同學,可能對 init 方法已經非常熟悉了,init 方法通常用在初始化乙個類例項的時候。例如 複製 如下 coding utf 8...

python定義函式,在python中定義函式

params 就是 5,5 5,2 就是2個5的元組,乘號可以理解成相加。30就是30個 的字串 params作為引數,前面的 號就是把params元組分解成元素的意思,這樣就分開成為2個引數了。實際上傳遞給了x,y 於是就執行了power 5,5 在python中定義函式 涉及到狀態儲存,可以使用...

Python中extract tags 怎麼對多行文字提取特徵詞而不是一行一行計算

python view plain copy coding utf 8 import sys reload sys sys.setdefaultencoding utf 8 from multiprocessing import pool,queue,process import multiproc...