Python中的tuple元组详细介绍
Tuple是不可变list。一旦创建了一个tuple就不能以任何方式改变它。
Tuple与list的相同之处
定义tuple与定义list的方式相同,除了整个元素集是用小括号包围的而不是方括号。
Tuple的元素与list一样按定义的次序进行排序。Tuples的索引与list一样从0开始,所以一个非空tuple的第一个元素总是t[0]。
负数索引与list一样从tuple的尾部开始计数。
与list一样分片(slice)也可以使用。注意当分割一个list时,会得到一个新的list;当分割一个tuple时,会得到一个新的tuple。
Tuple不存在的方法
您不能向tuple增加元素。Tuple没有append或extend方法。
您不能从tuple删除元素。Tuple没有remove或pop方法。
您不能在tuple中查找元素。Tuple没有index方法。
然而,您可以使用in来查看一个元素是否存在于tuple中。
用Tuple的好处
Tuple比list操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用tuple代替list。
如果对不需要修改的数据进行“写保护”,可以使代码更安全。使用tuple而不是list如同拥有一个隐含的assert语句,说明这一数据是常量。如果必须要改变这些值,则需要执行tuple到list的转换。
Tuple与list的转换
Tuple可以转换成list,反之亦然。内置的tuple函数接收一个list,并返回一个有着相同元素的tuple。而list函数接收一个tuple返回一个list。从效果上看,tuple冻结一个list,而list解冻一个tuple。