在Python中沒有陣列(array)的資料結構,而是以list來儲存大量資料。
而在Python中,有一與list相似的資料結構為tuple,而兩者的不同之處為何呢?
<List>
可以儲存數值: list1=[1, 2, 3]
可以儲存字串:list2=['a', 'p', 'p', 'l', 'e']
可以進行操作 list1+list2 與包含方法 list.append()等
<Tuple>
可以儲存數值: tuple1=(1, 2, 3)
可以儲存字串:tuple2=('a', 'p', 'p', 'l', 'e')
可以進行操作 tuple1+tuple2
tuple的元素值不可以修改!不可以刪除!
也因此沒有像list有一些改變元素值的方法(例如:list.pop()、list.reverse()......等)
此外,也正由於tuple的元素不可修改,結構簡單,因此此資料型態的大小比list來得小,
list1 = list(range(1000)) tuple1 = tuple(range(1000)) print ("list資料結構:", list1.__sizeof__()) print ("tuple資料結構:", tuple1.__sizeof__())
印出結果如下:
所以在使用時,像是月份、星期等,或是不可修改的資料把其存成tuple資料型態,
可以避免不小心更改到元素值,同時也可以增加執行效能~~
參考
RUNOOB.COM Python 基础教程,http://www.runoob.com/python/python-tuples.html
Stackoverflow,http://stackoverflow.com/questions/626759/whats-the-difference-between-list-and-tuples
Sthurlow.com-The Python Tutorial,http://sthurlow.com/python/lesson06/