Python编程(一):Python中tuple和list的一点思考

Python编程(一):Python中tuple和list的一点思考

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,里面的元素虽然我们也是关注其位置和顺序的,但每个元素都是同样的类型,同样的“功能”。

编辑于 2015-11-25

文章被以下专栏收录