元组 tuple 概述
-
元组用于存储一系列元素
-
元组存储的元素是有序的,支持索引
-
元组存储的元素是可以重复的
-
元组存储的元素可以是不同类型的,例如、数字、字符串、甚至是其他元组
-
元组是不可变的,在程序运行时不可以添加、删除、修改其中的元素
一、元组的定义与访问
1、基本介绍
- 元组的定义
【变量】 = (【元素 1】, 【元素 2】...)
- 元组的访问
【元组】[【索引】]
2、索引
- 元组中的每一个元素都有其索引,从前向后的方向,从 0 开始,依次递增
- | 元素 1 | 元素 2 | 元素 3 | 元素 4 | 元素 5 |
---|---|---|---|---|---|
索引 | 0 | 1 | 2 | 3 | 4 |
- 元组也支持反向索引,从后向前的方向,从 -1 开始,依次递减
- | 元素 1 | 元素 2 | 元素 3 | 元素 4 | 元素 5 |
---|---|---|---|---|---|
索引 | -5 | -4 | -3 | -2 | -1 |
3、演示
tuple1 = ("jack", "smith", "tom")
print(tuple1)
print(type(tuple1))
print(tuple1[1])
tuple2 = ("Hello World", 123, True)
print(tuple2)
print(type(tuple2))
print(tuple2[1])
# 输出结果
('jack', 'smith', 'tom')
<class 'tuple'>
smith
('Hello World', 123, True)
<class 'tuple'>
123
二、嵌套元组
1、基本介绍
- 嵌套元组是指一个元组中存储的元素还是元组
- 嵌套元组的定义
【变量】 = ((【元素 1】, 【元素 2】...), (【元素 1】, 【元素 2】...)...)
- 嵌套元组的访问
【元组】[【索引】][【索引】]
2、演示
nest_tuple = ((1, 2, 3), (4, 5, 6))
print(nest_tuple)
print(type(nest_tuple))
print(nest_tuple[0][1])
print(nest_tuple[1][1])
# 输出结果
((1, 2, 3), (4, 5, 6))
<class 'tuple'>
2
5
三、元组的遍历
1、使用 for 循环
my_tuple = (1, 2, 3, 4, 5)
for item in my_tuple:
print(item)
# 输出结果
1
2
3
4
5
2、使用索引 + while 循环
my_tuple = (1, 2, 3, 4, 5)
index = 0
while index < len(my_tuple):
print(my_tuple[index])
index += 1
# 输出结果
1
2
3
4
5
3、使用 enumerate 函数
- 这种方式可以同时返回索引和元素
my_tuple = (1, 2, 3, 4, 5)
for index, value in enumerate(my_tuple):
print(index, value)
# 输出结果
0 1
1 2
2 3
3 4
4 5
四、元组的常用方法
1、基本介绍
编号 | 方法 | 说明 |
---|---|---|
1 | 【元组】.index(【元素】) | 查找指定元素在元组中的第一次出现的索引,找不到则报错 |
2 | 【元组】.count(【元素】) | 统计指定元素在元组中出现的次数 |
3 | len(【元组】) | 统计元组中有多少个元素 |
2、演示
- index 方法
name_tuple = ("jack", "smith", "tom")
print(name_tuple.index("jack"))
# 输出结果
0
- count 方法
name_tuple = ("jack", "smith", "tom")
print(len(name_tuple))
# 输出结果
3
- len 方法
name_tuple = ("jack", "smith", "tom")
print(name_tuple.count("tom"))
# 输出结果
1