Python包含6种内建的序列,本章重点讨论最常用的两种类型:列表和元组。其他的内建序列类型有字符串(将在下一章再次讨论),UIICode字符串、buffer对象和xrange对象。
列表和元组的区别在于,列表可以修改,元组则不能。也就是说如果要根据要求来添加元素,那么列表可能会更好用,而出于某些原因,序列不能修改的时候,使用元组则更为合适。使用后者的理由通常是技术性的,它与Python内部的运作方式有关。这也是内建函数会返回元组的原因。一般来说,在自己编写的程序中,几乎在所有的情况下都可以用列表替代元组(第4章将会介绍一个需要注意的例外情况:使用元组作为字典的键。在这种情况下,因为键不可修改,所以就不能使用列表)。
在需要操作一组数值的时候,序列很好用。可以用序列表示数据库一个人的信息——第1个元素是姓名,第2个元素是年龄。根据上述内容编写一个列表(列表的各个元素通过逗号分隔,写在方括号中),如下例所示:
>>> edward = ['Edward Gumby', 42]
同时,序列也可以包含其他的序列,因此,构建如下的一个人员信息的列表也是可以的,这个列表就是你的数据库:
>>> edward = ['Edward Gumby', 42]
>>> john = ['John Smith', 50]
>>> database = [edward, john]
>>> database
[['Edward Gumby', 42], ['John Smith', 50]]
注意 Python之中还有一种名为容器(container)的数据结构。容器基本上是包含其他对象的任意对象。序列(例如列表和元组)和映射(例如字典)是两类主要的容器。序列中的每个元素都有自己的编号,而映射中的每个元素则有一个名字(也称为键)。在第4章会介绍更多有关映射的知识。至于既不是序列也不是映射的容器类型,集合(set)就是一个例子,请参见第10章的相关内容