tuple 與 list 類似,但 tuple 經初始化後不可變,不能添加、刪除、替換元素。
陷阱
定義一個不可變列表:t = (1,2) ,此時若print(t),結果是 (1,2)
定義一個空的 tuple:t = () , 此時若print(t),結果是 ()
定義一個只有1個元素的 tuple :
- t = (1) × 此時若print(t),結果是 1
這定義的不是一個 tuple,是1這個數,因爲括號()既可以表示tuple,也可以表示數學公式中的小括號。
這就產生了歧義,因此python規定,這種情況下,按小括號進行計算,計算結果自然是1。
正確方法是:
- t = (1,) √ 此時若print(t),結果是 (1,)
python在顯示只有1個元素的tuple時,也會加一個逗號,以免誤解。
“可變的” tuple:
tuple的不可變指的是tuple中每個元素的指向永遠不變,當tuple中某一元素指向一個list時,list中的元素是可變的
這樣就會產生元素內容可變的tuple.