Python編程(一):Python中tuple和list的一點思考



著作權歸作者所有。
商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
作者:auxten
鏈接:http://zhuanlan.zhihu.com/auxten/20111754
來源:知乎

Python有兩種相似的序列類型,tuple和list。 這兩者的不同大多數人都能說出:

  • tuple叫做元組用()表示;list叫做列表用[]表示。
  • tuple是不可變的,list是可變的。

可能是由於上面說的這兩點都是Python解釋器強制限制的,所以大家都耳熟能詳。有一些有趣的區別往往不被人注意: 嚴謹來講,tuple存儲的一般是結構化的數據,每一個字段的意義一般是不同的; 而list存儲的一般是同類型的順序數據。 這樣說可能有些抽象,我們舉個例子:

一:

>>> import time
>>> time.localtime()
(2008, 2, 5, 11, 55, 34, 1, 36, 0)

第一種time.localtime()返回的類型,是tuple。就像我們上面所說的,這個tuple的第一個位置一定是“年”。 也就是說,這裏的tuple就被當作一個輕量級的結構體來使用了。


二:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

第二種是一個典型的list,裏面的元素雖然我們也是關注其位置和順序的,但每個元素都是同樣的類型,同樣的“功能”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章