官术网_书友最值得收藏!

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)。

主站蜘蛛池模板: 姜堰市| 临城县| 芦溪县| 青田县| 远安县| 常德市| 江阴市| 南充市| 大安市| 河东区| 辽宁省| 星子县| 南华县| 玉屏| 崇左市| 兴国县| 会东县| 镇平县| 尼玛县| 大宁县| 通渭县| 墨玉县| 利川市| 陆良县| 岗巴县| 佳木斯市| 武乡县| 新宁县| 山丹县| 怀仁县| 常州市| 庆元县| 钦州市| 蒙城县| 祁东县| 武平县| 桦甸市| 海兴县| 子洲县| 隆回县| 文水县|