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

2.8 元組

元組(tuple)是Python中另一個重要的序列結(jié)構(gòu),它與列表相似,也是由一系列元素組成,但它是不可變序列。因此元組元素不能修改(也稱為不可變的列表)。元組所有元素都放在一對小括號“()”中,兩個元素間使用逗號(,)分隔。通常情況下,元組用于保存程序中不可修改的內(nèi)容。

2.8.1 元組的創(chuàng)建和刪除

1.使用賦值運算符直接創(chuàng)建元組

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

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

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

2.創(chuàng)建空元組

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

3.創(chuàng)建數(shù)值元組

在Python中,數(shù)值元組很常用。可以使用tuple()函數(shù)直接將range()函數(shù)循環(huán)出來的結(jié)果轉(zhuǎn)換為元組,如下所示。

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

4.刪除元組

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

2.8.2 訪問元組元素

1.通過指定索引訪問元組元素

與列表一樣,元組中的元素是從0開始索引的,即第一個元素的索引為0。如下所示為訪問元組的第1個元素。

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

可以看到輸出了元組的第2個元素,并且不包括方括號和引號。這就是訪問元組元素的方法。

2.通過指定兩個索引訪問元素

如下所示為指定兩個索引作為邊界來訪問元素。

[0:3]說明指定了第1個索引為元組的第1個元素;第2個索引為元組的第4個元素,但第2個索引不包含在切片內(nèi),所以輸出了元組的第1~3個元素。

3.只指定第1個索引來訪問元素

如下所示為只指定第1個索引作為邊界來訪問元素。

[2:]說明指定了第1個索引為元組的第3個元素;沒有指定第2個索引,那么Python會一直提取到元組末尾的元素,所以輸出了元組的第3~6個元素。

4.只指定第2個索引來訪問元素

如下所示為只指定第2個索引作為邊界來訪問元素。

[:4]說明沒有指定第1個索引,那么Python會從頭開始提取;第2個索引是元組的第5個元素(不包含在切片內(nèi)),所以輸出了元組的第1~4個元素。

5.指定元組倒數(shù)元素索引來訪問元素

如下所示為只指定元組倒數(shù)元素的索引作為邊界來訪問元素。

[-3:]說明指定了第1個索引為元組的倒數(shù)第3個元素;沒有指定第2個索引,那么Python會一直提取到元組末尾的元素,所以輸出了元組的最后三個元素。

案例15:考試名次查詢系統(tǒng)

在IDLE中創(chuàng)建一個名為“查考試排名.py”的文件,然后在文件中創(chuàng)建一個學(xué)生總排名的元組,接著讓用戶用輸入學(xué)生姓名,再獲取學(xué)生姓名在元組中對應(yīng)的索引,然后輸出索引+1,即為學(xué)生名次,代碼如下。

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

運行結(jié)果如下。

2.8.3 修改元組元素

1.通過重新賦值來修改元組元素

元組是不可變序列,所以不能對它的元素進行修改,但是元組可以進行重新賦值,可以通過重新賦值來修改元組,如下所示。

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

2.通過元組連接組合修改元組元素

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

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

注意,如果連接的元組只有一個元素,別忘了在元素后面加逗號。

主站蜘蛛池模板: 广东省| 上栗县| 宣化县| 巢湖市| 磐安县| 定日县| 循化| 大邑县| 光山县| 会昌县| 东兴市| 兰溪市| 渭南市| 灵山县| 永嘉县| 九江县| 延安市| 舞阳县| 肥城市| 瑞丽市| 同仁县| 思茅市| 易门县| 通城县| 乌鲁木齐县| 新龙县| 南漳县| 鄂托克旗| 桓仁| 合川市| 新兴县| 清水河县| 波密县| 晋中市| 桐柏县| 阿城市| 东莞市| 修水县| 共和县| 策勒县| 青神县|