在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__())

印出結果如下:

sizeof_list_tuple.PNG

所以在使用時,像是月份、星期等,或是不可修改的資料把其存成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/

文章標籤

python

全站熱搜

Jialin 發表在 痞客邦 留言(0) 人氣()