- Python程序設計
- 張雪萍主編
- 1042字
- 2019-06-19 15:48:28
2.4 元組
Python中另外一個比較常用的數據結構是元組,又稱為tuple,它屬于序列中的不可變序列。
1.元組的基本特性
元組是序列中的不可變序列,它與列表有很多相同點。列表是一個可以包含任意對象的有序集合,這一點同樣適用于元組。所以說,元組也是“可以包含任意對象的有序集合”。當然,元組也有與列表不同的特點。以下是元組所具有的特性:
(1)元組是包含任意對象的有序集合。
(2)通過下標索引(位置偏移)訪問元素。
(3)固定長度(列表是可變長度)、異質、可任意嵌套。
(4)對象引用數組。
2.元組的聲明
列表通過一個中括號來聲明,元組可以使用一個圓括號來進行聲明。
1)空元組的聲明

2)聲明只含一個元素的元組

強調:對只含一個元素的元組進行聲明時,末尾的“,”不能省略!
3.元組轉換函數tuple()
與列表類似,同樣可以將某個特定的可迭代序列轉換為元組。假定有函數“range()”生成了一個序列,可以通過轉換函數“tuple()”將它轉換為一個元組。

“range(1,6)”產生的是一個可迭代的序列,其值是:1,2,3,4,5,注意不包含值 6,后面將會介紹。
4.元組的常用操作
對元組元素的訪問操作,仍然是通過下標索引來進行的。也可以進行一定范圍的訪問,即通過范圍進行訪問。由于元組也是序列類型,因此,元組支持序列類型的通用操作,如判斷元素是否在序列之內、連接序列、重復序列元素、下標獲取元素、訪問指定索引范圍、按步長訪問指定索引范圍、獲取序列長度、獲取最小值、獲取最大值、求和(必須是數字類型數據)等都可以用在元組上。但不支持可變序列及列表的通用操作,因為它有不可變的特性,即元組不支持原位改變,也不支持擴展操作。如:

這里,由于元組元素 tp[2]是一個列表,因此,可以對其進行修改,但如果元素又是一個元組,則仍然不允許修改。
相對于列表而言,元組少了很多操作。但可能還會遇到一個函數返回多個值的情況,比如“return a,b”,這種情況其本質上還是一個元組,也就是說,元組使用的場景還是比較多、比較廣的。
在實際開發過程中,如果我們確定不會出現原位改變這種情況,則用元組比用列表更合適,能在一定程度上保證數據的安全。
5.使用元組的好處
元組比列表操作速度快,如果定義了一個值的常量集,并且唯一要使用的是不斷地遍歷它,那就使用元組來代替列表。
利用元組存儲數據,可以對不需要修改的數據進行“寫保護”,使得代碼更安全。使用元組而不是列表如同擁有一個隱含的 assert(斷言,第 4 章將介紹)語句,說明這一數據是常量,如果必須要改變這些值,則需要執行從元組到列表的轉換。
下面是由元組轉換成列表的代碼示例。

- Python自然語言處理實戰:核心技術與算法
- arc42 by Example
- Java FX應用開發教程
- 深入理解Java7:核心技術與最佳實踐
- 小程序,巧運營:微信小程序運營招式大全
- Monitoring Elasticsearch
- 重學Java設計模式
- Learning OpenStack Networking(Neutron)
- UML 基礎與 Rose 建模案例(第3版)
- Arduino家居安全系統構建實戰
- Procedural Content Generation for C++ Game Development
- Test-Driven Development with Django
- MINECRAFT編程:使用Python語言玩轉我的世界
- Elasticsearch Essentials
- Mastering Adobe Captivate 7