2.4 元组
元组(tuple)与列表类似,元组中的元素可以有不同的类型。然而,元组中的元素是不可以改变的,即一旦初始化之后,就不能够再做修改,否则将会报错。
2.4.1 创建元组
创建元组和创建列表非常相似,只不过在创建列表时用中括号,而创建元组时用小括号。
如图2-53所示,我们创建了一个包含6个元素的元组。
图2-53 创建元组
2.4.2 通过索引获取元组元素
创建元组以后,如何获取元组的元素呢?以t1= ('金鱼', '鲨鱼', '黄花鱼', '鲸鱼', '桂鱼', '鲸鱼')为例,要将元组中的“鲸鱼”这个元素取出来,可以看一下它的索引位置。有一点请读者一定要记住,Python编程语言在涉及元组数据读取时,它的第一个元素的索引是从0开始的。如果要获取到t1中的第一个元素“金鱼”,则可以使用t1[0];如果要获取第二个元素“鲨鱼”,则可以使用t1[1];以此类推。
图2-54展示了通过索引获取元组元素的方法。
2.4.3 通过切片获取元组元素
在Python中,也可以像应用列表一样,用切片来获取元组中的一个或者多个元素。例如,要获取t1元组中所有鱼类数据,代码与执行结果如图2-55所示。
图2-55 通过切片获取元组元素的代码与执行结果
2.4.4 元组元素计数
因为元组一旦被赋值后,该元组中的元素就不允许添加和删除,所以元组不存在append()、remove()和pop()方法。元组对象提供的所有方法如图2-56所示。
图2-56 元组对象提供的所有方法
如图2-57所示,在Python中,和列表元素的统计方式一样,用元组名称.count(元素名称)就可以统计出该元素在元组中出现的次数。
图2-57 元组元素计数方法
2.4.5 元组元素的索引位置
我们可以像使用列表一样,使用元组名称.index(元素名称)来获取该元素在元组中的索引位置。
如图2-58所示,我们可以看到使用脚本t1.index('接吻鱼'),返回了“接吻鱼”在t1列表中的索引位置2。
图2-58 应用元组元素索引的示例代码
如图2-59所示,如果我们限定只搜索元组中从第2个索引位置到第7个索引位置的“熊猫鼠”,返回值为5。元组和列表的index()方法相同,这里不再详述。
图2-59 应用限定索引范围的元组元素索引的示例代码
2.4.6 删除整个元组
尽管没有方法删除元组中的元素,但是可以使用del语句删除整个元组。
t1('熊猫','熊猫鼠','接吻鱼','孔雀鱼','地图鱼','熊猫鼠','熊猫鼠') print(t1) del t1 print(t1) |
以上代码的执行结果如图2-60所示。
图2-60 使用del语句删除元组的示例代码的执行结果
如果试图删除元组的元素,Python将提示“TypeError: 'tuple' object doesn't support item deletion”,即“类型错误:元组对象不支持删除元组元素”,同时脚本终止运行,如图2-61所示。
图2-61 使用del语句删除元组元素而产生异常的示例代码与执行结果