- Python+Tableau數(shù)據(jù)可視化之美
- 王紅明 張鴻斌編著
- 1390字
- 2021-11-12 11:33:07
2.8 元組
元組(tuple)是Python中另一個(gè)重要的序列結(jié)構(gòu),它與列表相似,也是由一系列元素組成,但它是不可變序列。因此元組元素不能修改(也稱為不可變的列表)。元組所有元素都放在一對(duì)小括號(hào)“()”中,兩個(gè)元素間使用逗號(hào)(,)分隔。通常情況下,元組用于保存程序中不可修改的內(nèi)容。
2.8.1 元組的創(chuàng)建和刪除

1.使用賦值運(yùn)算符直接創(chuàng)建元組
同Python的變量一樣,創(chuàng)建元組時(shí),可以使用賦值運(yùn)算符“=”直接將一個(gè)元組賦值給變量,如下所示。

代碼中,tup就是一個(gè)元組。另外,Python對(duì)元組中的元素和個(gè)數(shù)沒有限制,如下所示也是一個(gè)合法的元組。

另外,一個(gè)元組的元素還可以包含另一個(gè)元組,如下所示。

2.創(chuàng)建空元組
在Python中,也可以創(chuàng)建空的元組,如下所示empty為一個(gè)空元組。

3.創(chuàng)建數(shù)值元組
在Python中,數(shù)值元組很常用??梢允褂胻uple()函數(shù)直接將range()函數(shù)循環(huán)出來的結(jié)果轉(zhuǎn)換為元組,如下所示。

上面代碼運(yùn)行后的結(jié)果如下。

4.刪除元組
對(duì)于已經(jīng)創(chuàng)建的元組,可以使用del語(yǔ)句將其刪除,如下所示為刪除之前創(chuàng)建的tup元組。

2.8.2 訪問元組元素
1.通過指定索引訪問元組元素
與列表一樣,元組中的元素是從0開始索引的,即第一個(gè)元素的索引為0。如下所示為訪問元組的第1個(gè)元素。

上述代碼中tup [1]表示第2個(gè)元素,如果要訪問元組第3個(gè)元素,應(yīng)該將程序第2句修改為“print(tup [2])”。如果要訪問元組最后一個(gè)元素,可以使用一個(gè)特殊語(yǔ)法“print(tup [-1])”來實(shí)現(xiàn)。上述代碼的輸出結(jié)果如下。

可以看到輸出了元組的第2個(gè)元素,并且不包括方括號(hào)和引號(hào)。這就是訪問元組元素的方法。
2.通過指定兩個(gè)索引訪問元素
如下所示為指定兩個(gè)索引作為邊界來訪問元素。

[0:3]說明指定了第1個(gè)索引為元組的第1個(gè)元素;第2個(gè)索引為元組的第4個(gè)元素,但第2個(gè)索引不包含在切片內(nèi),所以輸出了元組的第1~3個(gè)元素。
3.只指定第1個(gè)索引來訪問元素
如下所示為只指定第1個(gè)索引作為邊界來訪問元素。

[2:]說明指定了第1個(gè)索引為元組的第3個(gè)元素;沒有指定第2個(gè)索引,那么Python會(huì)一直提取到元組末尾的元素,所以輸出了元組的第3~6個(gè)元素。
4.只指定第2個(gè)索引來訪問元素
如下所示為只指定第2個(gè)索引作為邊界來訪問元素。

[:4]說明沒有指定第1個(gè)索引,那么Python會(huì)從頭開始提??;第2個(gè)索引是元組的第5個(gè)元素(不包含在切片內(nèi)),所以輸出了元組的第1~4個(gè)元素。
5.指定元組倒數(shù)元素索引來訪問元素
如下所示為只指定元組倒數(shù)元素的索引作為邊界來訪問元素。

[-3:]說明指定了第1個(gè)索引為元組的倒數(shù)第3個(gè)元素;沒有指定第2個(gè)索引,那么Python會(huì)一直提取到元組末尾的元素,所以輸出了元組的最后三個(gè)元素。
案例15:考試名次查詢系統(tǒng)
在IDLE中創(chuàng)建一個(gè)名為“查考試排名.py”的文件,然后在文件中創(chuàng)建一個(gè)學(xué)生總排名的元組,接著讓用戶用輸入學(xué)生姓名,再獲取學(xué)生姓名在元組中對(duì)應(yīng)的索引,然后輸出索引+1,即為學(xué)生名次,代碼如下。

代碼中“ranking.index(name)”的意思是獲得元素在元組中的索引。name為用戶輸入的學(xué)生姓名。由于元組索引是從0開始的,即第1個(gè)元素索引為0,因此排名應(yīng)該是索引+1。
運(yùn)行結(jié)果如下。

2.8.3 修改元組元素
1.通過重新賦值來修改元組元素
元組是不可變序列,所以不能對(duì)它的元素進(jìn)行修改,但是元組可以進(jìn)行重新賦值,可以通過重新賦值來修改元組,如下所示。

上述代碼的輸出結(jié)果如下。

2.通過元組連接組合修改元組元素
雖然元組的元素不可修改,但可以通過對(duì)元組進(jìn)行連接組合來實(shí)現(xiàn)修改元組,如下所示。

上述代碼的輸出結(jié)果如下。

注意,如果連接的元組只有一個(gè)元素,別忘了在元素后面加逗號(hào)。
- Learning Python Web Penetration Testing
- 深入淺出Java虛擬機(jī):JVM原理與實(shí)戰(zhàn)
- C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)指導(dǎo)
- FLL+WRO樂高機(jī)器人競(jìng)賽教程:機(jī)械、巡線與PID
- C++ 從入門到項(xiàng)目實(shí)踐(超值版)
- MongoDB權(quán)威指南(第3版)
- TypeScript項(xiàng)目開發(fā)實(shí)戰(zhàn)
- Python:Master the Art of Design Patterns
- Spring Boot企業(yè)級(jí)項(xiàng)目開發(fā)實(shí)戰(zhàn)
- C程序設(shè)計(jì)實(shí)踐教程
- R語(yǔ)言數(shù)據(jù)挖掘:實(shí)用項(xiàng)目解析
- jQuery從入門到精通(微課精編版)
- 從零開始:C語(yǔ)言快速入門教程
- Clojure High Performance Programming(Second Edition)
- 軟件測(cè)試(慕課版)