@[toc]
元組的應(yīng)用與實例
1.元組的特性
- 一經(jīng)定義,元組的內(nèi)容不能改變(不能修改/刪除/添加),
tuple所謂的“不變”是說,tuple的每個元素,指向永遠(yuǎn)不變 - 元素元素可以存儲不同類型的數(shù)據(jù)
- 元組元素有<font color=Red>圓括號</font>括起來
t=(1,2,3)
現(xiàn)在,這個tuple不能變了,<font color=Red>它也沒有append(),insert()這樣的方法</font>。其他獲取元素的方法和list是一樣的,<font color=Red>但不能賦值成另外的元素</font>
- 因為
tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就盡量用tuple - 當(dāng)你定義一個
tuple時,在定義的時候,tuple的元素就必須被確定下來
2. 定義一個空的tuple,可以寫成()
t=()
print(t)
運行結(jié)果
()
3. 定義一個只有1個元素的tuple
t=(1)
print(t)
運行結(jié)果
1
如果你這么定義,定義的不是tuple,是1這個數(shù)!這是因為括號()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號,這就產(chǎn)生了歧義,因此,Python規(guī)定,這種情況下,按小括號進(jìn)行計算,計算結(jié)果自然是1
<font color=Red>所以,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義</font>
t=(1,)
print(t)
運行結(jié)果
(1,)
4.訪問,遍歷元組
這兩個操作和list的操作是一樣的,相應(yīng)的操作可以從這里找list 操作
5. 排序
- 因為
tuple的內(nèi)容不能改變,所以tuple沒有sort()函數(shù) - 可以將
tuple轉(zhuǎn)換成list,然后再對list排序,最后將排序后的list賦值給tuple
tuple轉(zhuǎn)換成list
列表對象=list(元組對象)
list轉(zhuǎn)換成tuple
元組對象=tuple(列表對象)
t=('apple','banana','pear','grape')
l=list(t)
l.sort()
t=tuple(l)
print(t)
運行結(jié)果
('apple', 'banana', 'grape', 'pear')
可以使用reverse()函數(shù)進(jìn)行反序
t=('apple','banana','pear','grape')
l=list(t)
l.reverse()
t=tuple(l)
print(t)
運行結(jié)果
('grape', 'pear', 'banana', 'apple')