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

2.8 元組

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

2.8.1 元組的創建和刪除

1.使用賦值運算符直接創建元組

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

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

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

2.創建空元組

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

3.創建數值元組

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

上面代碼運行后的結果如下。

4.刪除元組

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

2.8.2 訪問元組元素

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

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

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

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

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

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

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

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

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

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

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

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

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

5.指定元組倒數元素索引來訪問元素

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

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

案例15:考試名次查詢系統

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

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

運行結果如下。

2.8.3 修改元組元素

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

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

上述代碼的輸出結果如下。

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

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

上述代碼的輸出結果如下。

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

主站蜘蛛池模板: 岳池县| 西藏| 新宾| 永清县| 互助| 日照市| 长武县| 诸城市| 新乐市| 繁昌县| 弋阳县| 十堰市| 隆安县| 江达县| 松桃| 沙雅县| 福州市| 高雄市| 河间市| 得荣县| 仪陇县| 石家庄市| 丰都县| 开鲁县| 嘉义市| 娱乐| 延川县| 新和县| 江山市| 左贡县| 甘孜县| 辉南县| 兰州市| 桦南县| 修水县| 桑日县| 庆城县| 大关县| 普安县| 交城县| 平泉县|