做者 | 弗拉德
來源 | 弗拉德(公衆號:fulade_me)python
列表很是適合用於存儲在程序運行期間可能變化的數據集。列表是能夠修改的,這對處理網 站的用戶列表或遊戲中的角色列表相當重要。然而,有時候你須要建立一系列不可修改的元素, 元組能夠知足這種需求。Python將不能修改的值稱爲不可變的,而不可變的列表被稱爲元組。git
元組看起來跟列表很想,但使用圓括號而不是方括號來標識。定義元組後,就可使用索引來訪問其元素,就像訪問列表元素同樣。
例如,若是有一個大小不該改變的矩形,可將其長度和寬度存儲在一個元組中,從而確保它們是不能修改的:github
rectangle = (200, 50) print(rectangle[0]) print(rectangle[1])
咱們首先定義了元組rectangle,爲此咱們使用了圓括號而不是方括號。接下來,咱們分別打印該元組的各個元素。
輸出是數據結構
200 50
下面來嘗試修改元組rectangle中的一個元素,看看結果如何:ide
rectangle[0] = 250
若是咱們運行一下上面的代碼,就會發現Python返回類型錯誤消息。由於元組是不容許被修改的,所以會出現以下錯誤:code
TypeError: 'tuple' object does not support item assignment
須要記住的是:元組是不能夠被修改的,因此使用過程當中不能修改元組的值。索引
像列表同樣,也可使用for循環來遍歷元組中的全部值:生命週期
rectangle = (200, 50) for r in rectangle: print(r)
輸出結果爲:遊戲
200 50
雖然咱們不能修改元組內部的值,可是咱們能夠經過給元組從新賦值的方式來來改變元組的值:get
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倉庫