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

来源:互联网 发布:数组转化成json 编辑:程序博客网 时间:2024/06/06 13:05


著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者: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,里面的元素虽然我们也是关注其位置和顺序的,但每个元素都是同样的类型,同样的“功能”。

1 0
原创粉丝点击