序列是程序设计中经常用到的数据存储方式,几乎每一种程序设计语言都提供了表格数据结构,如C和Basic中的一维、多维数组等。Python语言提供的序列类型在所有程序设计语言中是最丰富,最灵活,也是功能最强大的。
序列是一系列连续值,它们通常是相关的,并且按一定顺序排列。Python中常用的序列结构有列表、元组等。
元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可以修改其元素。
元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“(”和“)”中,而不是方括号中。
元组创建与删除
使用“=”将一个元组赋值给变量
>>>a_tuple= (‘a‘, )
>>> a_tuple
(‘a‘,)
>>>a_tuple= (‘a‘, ‘b‘, ‘mpilgrim‘, ‘z‘, ‘example‘)
>>> a_tuple
(‘a‘, ‘b‘, ‘mpilgrim‘, ‘z‘, ‘example‘)
>>> a=3
>>> a
3
>>> a=3,
>>> a
(3,)
使用tuple函数将其他序列转换为元组
>>> print tuple(‘abcdefg‘)
(‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘)
>>> aList
[-1, -4, 6, 7.5, -2.3, 9, -11]
>>> tuple(aList)
(-1, -4, 6, 7.5, -2.3, 9, -11)
使用del删除元组对象,不能删除元组元素
元组与列表的区别
元组中的数据一旦定义就不允许更改。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素;
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
内建的tuple( )函数接受一个列表参数,并返回一个包含同样元素的元组,而list( )函数接受一个元组参数并返回一个列表。从效果上看,tuple( )冻结列表,而list( )融化元组。
元组的优点
元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。
元组对不需要改变的数据进行“写保护”将使得代码更加安全。
一些元组可用作字典键(特别是包含字符串、数值和其它元组这样的不可变数据的元组)。列表永远不能当做字典键使用,因为列表不是不可变的。