作者:Michael Galarnyk
翻译:老齐
译者注: 本文适合初学者阅读。推荐与本文内容有关的数据:《Python大学实用教程》、《跟老齐学Python:轻松入门》(均为电子工业出版社出版)
元组是序列,就像列表一样。元组和列表的主要区别在于元组中的不能更改(即元组不可变),而列表可以更改(可变)。
创建元组
创建空元组有两种方法,可以通过使用不包含任何值的()来创建一个空元组。
# 方法1
emptyTuple = ()
复制代码
还可以使用tuple函数创建一个空元组。
# 方法2
emptyTuple = tuple()
复制代码
带有元素的元组可以通过用逗号分隔的序列来创建。
# 方法1
z = (3, 7, 4, 2)
# 方法2 (也可以不用圆括号创建元组)
z = 3, 7, 4, 2
复制代码
请务必记住,如果要创建只包含一个值的元组,则需要在元素的后面使用逗号。
# 只有一个值的元组
tup1 = ('Michael',)
# 只有一个值的元组
tup2 = 'Michael',
# 这是字符串,不是元组
notTuple = ('Michael')
复制代码
访问元组中的值
元组中的每个值都有一个指定的索引值。需要注意的是,Python是一种基于零索引的语言,这意味着元组中的第一个值的索引是0。
# 创建一个元组
z = (3, 7, 4, 2)
# 根据索引0得到第一个元素
print(z[0])
复制代码
Python还支持负索引。负索引从元组的末尾开始,有时使用负索引来获取元组中的最后一项会更方便,因为你不必知道元组的长度就可以访问最后一项。
# 打印元组的最后一项
print(z[-1])
复制代码
提示一下,你还可以使用正索引访问相同的项(如下所示)。
元组切片
切片操作返回包含请求项的新元组,从而得到元组中元素的子集。对于下面的示例代码,它将返回一个元组,其中包含从索引0到索引2(不包括索引2)的项。
# 创建元组
z = (3, 7, 4, 2)
# 切片包含冒号前面的第一索引,不包含冒号后面的索引
print(z[0:2])
复制代码
# 从第一个开始,但不包含索引3项
print(z[:3])
复制代码