- Python從入門到項目實踐(超值版)
- 聚慕課教育研發(fā)中心
- 918字
- 2020-01-20 14:50:15
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 元組基本操作運行程序
- Boost程序庫完全開發(fā)指南:深入C++”準(zhǔn)”標(biāo)準(zhǔn)庫(第5版)
- Oracle Database In-Memory(架構(gòu)與實踐)
- Mastering Entity Framework
- INSTANT MinGW Starter
- Eclipse Plug-in Development:Beginner's Guide(Second Edition)
- TradeStation交易應(yīng)用實踐:量化方法構(gòu)建贏家策略(原書第2版)
- SQL基礎(chǔ)教程(第2版)
- Python Data Structures and Algorithms
- Mastering React
- 打開Go語言之門:入門、實戰(zhàn)與進(jìn)階
- Java Web從入門到精通(第2版)
- Julia數(shù)據(jù)科學(xué)應(yīng)用
- Learning Python Data Visualization
- 軟件測試分析與實踐
- Mastering PowerCLI