作者 | 弗拉德
來源 | 弗拉德(公衆號:fulade_me)
元組
列表非常適合用於存儲在程序運行期間可能變化的數據集。列表是可以修改的,這對處理網 站的用戶列表或遊戲中的角色列表至關重要。然而,有時候你需要創建一系列不可修改的元素, 元組可以滿足這種需求。Python將不能修改的值稱爲不可變的,而不可變的列表被稱爲元組。
定義元組
元組看起來跟列表很想,但使用圓括號而不是方括號來標識。定義元組後,就可以使用索引來訪問其元素,就像訪問列表元素一樣。
例如,如果有一個大小不應改變的矩形,可將其長度和寬度存儲在一個元組中,從而確保它們是不能修改的:
rectangle = (200, 50)
print(rectangle[0])
print(rectangle[1])
我們首先定義了元組rectangle,爲此我們使用了圓括號而不是方括號。接下來,我們分別打印該元組的各個元素。
輸出是
200
50
下面來嘗試修改元組rectangle中的一個元素,看看結果如何:
rectangle[0] = 250
如果我們運行一下上面的代碼,就會發現Python返回類型錯誤消息。因爲元組是不允許被修改的,因此會出現如下錯誤:
TypeError: 'tuple' object does not support item assignment
需要記住的是:元組是不可以被修改的,所以使用過程中不能修改元組的值。
遍歷元組
像列表一樣,也可以使用for循環來遍歷元組中的所有值:
rectangle = (200, 50)
for r in rectangle:
print(r)
輸出結果爲:
200
50
給元組重新賦值
雖然我們不能修改元組內部的值,但是我們可以通過給元組重新賦值的方式來來改變元組的值:
rectangle = (200, 50)
for r in rectangle:
print(r)
rectangle = (400,100)
for r in rectangle:
print(r)
輸出如下:
200
50
400
100
相比於列表,元組是更簡單的數據結構。如果需要存儲的一組值在程序的整個生命週期內都 不變,可使用元組。
小作業
9-1 有一個菜攤,提供五種蔬菜。請想出五種簡單的蔬菜,並將其存儲在一個元組中。
9-2 使用一個 for 循環將該菜攤提供的五種蔬菜都打印出來。
9-3給元組變量賦值,修改其中一種蔬菜爲新品種,並使用一個 for 循環將新元組的每個元素都打印出來。
9-4嘗試修改其中的一個元素,覈實 運行時會報錯。
想查看作業答案可以去我的Githu倉庫