Python数据结构——tuple
tuple 元組
什么是tuple
元組是一種和列表非常相似的線性數(shù)據(jù)結(jié)構(gòu),也支持不同的數(shù)據(jù)類型。
最大的區(qū)別就是元組一旦創(chuàng)建不可改變,和string一樣,所有改變元組內(nèi)容的操作都會返回一個新的元組。
對于可變、不可變的理解:
元組和列表一樣,都是存儲引用而不是對象本身,因此所謂的不可修改是指元組自己的每一個元素保存的引用不能被修改。如果元組某個元素的引用是另一個引用,我們也可以做到“修改元組內(nèi)容”。例如:
t = (1, 'a', []) t[2].append(1) >>> (1, 'a', [1])在上例中,元組的第三個元素引用了一個列表, 但這個列表是可變的,我們在改變列表的同時并沒有改變元組的引用,該元素依然引用的是同一個列表,所以這樣也可以“修改“元組。
//TODO
tuple有哪些功能
tuple的創(chuàng)建
t1 = () t2 = tuple() t3 = (1,2,3)要注意的是當(dāng)元組只有一個元素時,需要加上一個逗號來區(qū)分
tup1 = (50) ## 在這種寫法下,括號被認(rèn)為是數(shù)學(xué)表達(dá)式,而非元組 type(tup1) >>> <class 'int'>tup2 = (50,) ## 為了區(qū)分,我們應(yīng)該在單元素元組中加入一個逗號 type(tup2) >>> <class 'tuple'>tuple的方法
因為tuple不可更改,所以所有的改變自身的方法都不可以使用,例如:sort(), reverse()和append()等,但是支持合并操作。
剩下的所有l(wèi)ist的方法tuple都支持,各種相關(guān)方法的時間復(fù)雜度也可參考list
tuple的優(yōu)點和缺點
優(yōu)點:
缺點:
最好的辦法是將元組看做列表的補充,而不是一種單獨的數(shù)據(jù)結(jié)構(gòu)。當(dāng)我們需要維護(hù)數(shù)據(jù)的安全而禁止修改數(shù)據(jù)時可以利用元組,當(dāng)我們需要隨時對數(shù)據(jù)內(nèi)容進(jìn)行該改動時就用列表。
相關(guān)章節(jié)
Python數(shù)據(jù)結(jié)構(gòu)——array
Python數(shù)據(jù)結(jié)構(gòu)——list
Python數(shù)據(jù)結(jié)構(gòu)——tuple
總結(jié)
以上是生活随笔為你收集整理的Python数据结构——tuple的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据结构——list
- 下一篇: 二、【绪论】算法和算法评价