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 是幹...