零基础学Python(第2版)
上QQ阅读APP看书,第一时间看更新

4.1.1 元组的创建

tuple(元组)是Python内置的一种数据结构。元组由一系列元素组成,所有元素被包含在一对圆括号中。创建元组时,可以不指定元素的个数,相当于不定长的数组,但是一旦创建后就不能修改元组的长度。元组创建的格式如下所示。


tuple = (元素1, 元素2, …)

元组的初始化示例如下:


tuple = ("apple", "banana", "grape", "orange")

上面这行代码创建了一个名为tuple的元组,该元组由4个元素组成,元素之间使用逗号分隔。

如果需要定义一个空的元组,表达方式更简单。创建空的元组只需要一对空的圆括号。


tuple = ()

如果创建的元组只包含一个元素,通常会错误地忽略单元素后的逗号。Python无法区分变量tuple是元组还是表达式,Python误认为圆括号中的内容为表达式,因此tuple[0]输出的结果并非期望的值,并且其类型也不是tuple。错误的写法如下:


01     tuple = ("apple")               # 定义元组
02     print(tuple[0])                  # 打印第一个元素
03     print (type(tuple))         # 打印定义的tuple的类型

运行这段代码并不会提示任何错误,代码将输出字母“a”,而不是期望的“apple”。并且其类型为<class‘str’>。正确的写法如下:


01     tuple = ("apple",)             # 定义元组,注意后面的逗号不可少
02     print (tuple[0])                # 打印第一个元素
03     print (type(tuple))             # 打印定义的tuple的类型

此时,将输出tuple元组中唯一的元素“apple”,并且类型为<class‘tuple’>。所以,创建一个唯一元素的元组,需要在元素的后面添加一个逗号,使Python能正确识别出元组中的元素。

注意 元组是从0开始计数的,因此tuple[0]获得的是元组tuple中第1个元素。Python中其他的数据结构也遵循这个规则。