元組型態和串列十分地類似,幾乎唯一的差別只在於元組的內容一旦設定之後就不能修改,除了速度上的考量之外,有些時候也是為了整理或傳遞資料的方便性。宣告元組型態的方法,使用的是小括號,如下所示:
a = (20, 30, 50, 34)
print(type(a))
b = tuple("askidkjxjekek")
print(b)
<class 'tuple'>
('a', 's', 'k', 'i', 'd', 'k', 'j', 'x', 'j', 'e', 'k', 'e', 'k')
上述的程式碼中,不論是a或是b,在建立了元組變數之後,就不能夠再以任何的方式去修改裡面的內容,不只是沒有像串列型態一樣的append()添加元素的函式,就連指定其中某一項目的值也是不被允許的,如下:
a = (20, 30, 50, 34)
print(a[2])
a[2] = 100
50
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-aef5d1a8539e> in <module>
1 a = (20, 30, 50, 34)
2 print(a[2])
----> 3 a[2] = 100
TypeError: 'tuple' object does not support item assignment
def sub(coord, d):
return coord[0]+d, coord[1]+d
print(sub((100, 200), 10))