廣告
| 元組(Tuple) |
|
|
|
| 作者是 Victor | |||||||||||||||||||||||||
| 週三, 11 二月 2009 21:09 | |||||||||||||||||||||||||
什麼是元組(Tuple)簡單的來說,就是不可改變的序列,也就是元素的組合,和串列很像,只差在它不可改變和語法,你可能會覺得很疑惑,都已經有了串列為何還需要元組,答案就是因為有時我們希望一個序列創造出來不能被改變,一個最好的例子就是字典的鍵值,還記得我們提過,字典的鍵必須滿足"不可改變"的條件,因此用串列就無法當做鍵,而用元組就可以,以下讓我們來介紹元組。 (物件1, 物件2, 物件3, ....) 語法和串列幾乎一樣,只是[]改成用(),還有一點需要注意的是,當元素的元素只有一個,像這樣 (元素) 這樣寫並不會被當成Tuple,為什麼? 因為這樣和運算優先的括號是一樣的,Python並沒有辦法分別它們之間的差別,因此當元組的元素只有一個時,必須這樣寫 (元素, ) 多一個多餘的逗號,讓Python的直譯器就能知道這是一個元組而不是指運算優先的括號。 序列的操作像之前說過的,由於元組是"不可改變"的物件,因此元組的操作只有讀取之類的操作,而其它操作像 a + b
這類的操作,其實都是創立一個新的元組出來,而沒有造成任何改變,字串也是這樣的物件。
雖然字串和List都也一樣可以使用以上的操作方式,但是這次是在說明Tuple,因此只以Tuple做示範,以下是程式範例。 # 建立一個Tuple
tupleA = (1, 2, 3)
# 建立另一個Tuple
tupleB = (7, 7, 8, 8)
# 印出兩個Tuple連接後的結果
print tupleA + tupleB
# 印出tupleA重覆3次的結果
print tupleA * 3
# 印出3是否在tupleA裡
print 3 in tupleA
# 印出tupleB的元素個數
print len(tupleB)
# 印出從1開始的切片
print tupleA[1:]
# 印出tupleB中最大的元素
print max(tupleB)
# 建立一個Dictionary
tupleMap = {}
# 如同我們前面說的
# 因為Tuple是"不可改變"的物件
# 因此可以當成Dictionary的鍵值
tupleMap[tupleA] = 'hello'
# 印出(1, 2, 3)的對應值
print tupleMap[(1, 2, 3)]
|
|||||||||||||||||||||||||
| 最近更新在 週三, 11 二月 2009 21:47 |
核心是 Joomla!. Designed by: Free Joomla Theme, whois protect. Valid XHTML and CSS.


