Python版本:3.6.2 操作系統:Windows 作者:SmallWZQ
列表和元組是Python中最常見的內建序列。元組與列表一樣,但是tuple一旦創建就不能修改。創建元組的語法非常簡單,示例如下:
>>> 1,2,3
(1,2,3)
如果您用逗號分隔了一些值,那么您就自動創建了tuple。一旦創建,tuple內容就是固定的。
tuple格式如下:
t = (1,),小括號。
1.元組索引
tuple創建后,不能通過append()、pop()、insert()、remove()等方法改變tuple的內容。然而tuple是可以被索引訪問的,即獲取tuple元素的方法與list類似,但元素值不可被修改。
>>> t = (1,2,3,4,5,6)
>>> t[0]
1
如代碼所示,tuple可以正常地通過索引(t[0],t[-1]......)訪問元素值。
2.元組陷阱
創建元組時,需要特別注意元組中只有一個值的情況。Python的數據類型包括tuple、int等等。因此,當tuple中包含一個元素的時候,不能遺漏逗號。
>>> t = (56)
>>> t
56
>>> t = (56,)
>>> t
(56,)
注:定義一個空的tuple,可以寫成()。
3.元組方法
由於元組是不可變的,所以元組支持的方法很少,與list無法相提並論。tuple僅僅支持index()、count()等極少數的方法。話不多說,直接上圖。
圖1 tuple方法介紹
4.tuple()
與list()一樣,功能:以一個序列作為參數並把它轉換為tuple。
>>> tuple([1,2,3])
(1,2,3)
>>> tuple('abc')
('a','b','c')
>>> tuple((1,2,3))
(1,2,3)
5.不可替代性
tuple是不可變序列,它有存在的必要嗎?它的意義在哪?......面對這一系列的疑問,我也查過很多的資料,包括Python基礎教程、廖曉峰教程等等。tuple不可替代的原因:1.安全性;2.鍵(key)。
因為tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就盡量用tuple。(來自廖老師的教程)
tuple可以在映射(和集合的成員)中當作鍵(key)使用——而列表不行。
tuple作為很多內建函數和方法的返回值存在,也就是說您必須對元組進行處理。
>>>def f():
return 2,3
>>>f()
(2,3)
返回值為元組類型
tuple總結
1.tuple是不可變的序列。