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

4.4 元組

還有一種序列是元組,它與列表十分類似,不同之處在于,列表中的元素可以被修改,而元組中的元素不能修改;在寫法上,列表使用方括號定義,而元組使用圓括號定義。

4.4.1 直接創(chuàng)建元組

最基本的方法是用圓括號創(chuàng)建元組,括號里的元素用逗號隔開。逗號必須存在,當(dāng)元組中僅有一個元素時,在其后面必須加上逗號來消除歧義。Python中,用來定義元組的關(guān)鍵信息是逗號,有時圓括號都可以省略。使用圓括號時,若不向圓括號中輸入任何元素,則會創(chuàng)建一個空元組。

【例4-14】用圓括號創(chuàng)建元組。

程序運行結(jié)果如圖4-15所示。

圖4-15 創(chuàng)建元組運行程序

4.4.2 用tuple()函數(shù)創(chuàng)建元組

使用tuple()函數(shù)能夠?qū)⑵渌麛?shù)據(jù)結(jié)構(gòu)對象轉(zhuǎn)換成元組的類型。常見的是將一個列表轉(zhuǎn)換成元組,需要先創(chuàng)建一個列表并把元素存入其中。tuple()在使用時需要在列表最外層加入圓括號來說明轉(zhuǎn)換對象。

【例4-15】用tuple()函數(shù)創(chuàng)建元組。

程序運行結(jié)果如圖4-16所示。

圖4-16 創(chuàng)建元組運行程序

4.4.3 元組元素提取

元組是不可變的元素,雖然不能和列表一樣對里面的元素進(jìn)行增刪改,但仍然可以對元組內(nèi)的元素進(jìn)行索引、訪問、提取和切片的操作。其中,對于元組元素的提取,可以使用元組解包簡化賦值操作。

(1)索引提取元素:利用序列的索引進(jìn)行元素提取。通過元素的位置提取元素,需要注意元組的長度,不能超出索引范圍。

【例4-16】索引訪問元素。

程序運行結(jié)果如圖4-17所示。

圖4-17 索引提取元素運行程序

(2)切片提取元素:獲取元組的切片,無須考慮超出索引范圍的問題。需要注意的是,元組的切片也是一個元組。

【例4-17】切片訪問元素。

程序運行結(jié)果如圖4-18所示。

圖4-18 切片提取元素運行程序

(3)元組解包:利用Python語言的靈活性,將元組中的元素賦值給多個變量。

【例4-18】元組解包。

程序運行結(jié)果如圖4-19所示。

圖4-19 元組解包運行程序

4.4.4 元組常用操作方法

由于元組無法修改元素,相對于列表操作的范圍就比較小,常見的仍然是對元組進(jìn)行元素位置查詢等操作。下面列出了一些常用于操作元組的方法。

+:將兩個元組合并為一個元組。

*:重復(fù)合并同一個元組為一個更長的元組。

len:獲取元組長度。

sorted:創(chuàng)建對元素進(jìn)行排序后的列表。

tuple.count:記錄某個元素在元組中出現(xiàn)的次數(shù)。

tuple.index:獲取元素在元組當(dāng)中第一次出現(xiàn)的位置的索引。

【例4-19】元組的基本操作。

程序運行結(jié)果如圖4-20所示。

圖4-20 元組基本操作運行程序

主站蜘蛛池模板: 平乡县| 信宜市| 麦盖提县| 深圳市| 拉萨市| 施甸县| 福贡县| 成武县| 防城港市| 华坪县| 石屏县| 长武县| 长宁县| 新乡县| 大余县| 高密市| 舒兰市| 台湾省| 齐齐哈尔市| 陆川县| 婺源县| 疏勒县| 马龙县| 霞浦县| 布尔津县| 商洛市| 嵊泗县| 石柱| 鹤山市| 陕西省| 安福县| 万宁市| 察隅县| 丰宁| 体育| 家居| 台东县| 永清县| 朝阳市| 肥东县| 祁阳县|