一、定义
元组:tuple表现形式(),元组和列表一样,都可以储存任意类型的多个数据,但是元组中的内容不可以修改,列表中可以修改,元组主要用于函数的参数和返回值。
元组可以通过类的实例化tuple()定义
# 通过类的初始化定义一个空元组,没有什么意义,因为不能修改
my_tuple = tuple()
print(my_tuple) # ()
# 数据转换定义-把列表转化为元组
my_tuple1 = tuple([0, 1, 2, 3, 4, 5])
print(my_tuple1) # (0, 1, 2, 3, 4, 5)
# 数据转换定义-将字符串转化为元组
my_tuple2 = tuple('python')
print(my_tuple2) # ('p', 'y', 't', 'h', 'o', 'n')
直接使用()定义
# 直接使用()定义
my_tuple = (1, 2, True, 'T', 3.12)
print(my_tuple) # (1, 2, True, 'T', 3.12)
# 特殊情况,当定义元组只有一个数据时,必须要有,
my_tuple2 = (1,)
print(my_tuple2, type(my_tuple2)) # (1,) <class 'tuple'>
二、元组的查询
元组中数据不能修改,所有只有查询方法
1.通过下标获取单个数据
my_tuple = (1, 2, True, 'T', 3.12, 2, 1, 0, 6)
print(my_tuple[1]) # 2
2.通过切片获取多个数据
my_tuple = (1, 2, True, 'T', 3.12, 2, 1, 0, 6)
print(my_tuple[1:3]) # (2, True)
print(my_tuple[1:6:2]) # (2, 'T', 2)
3.通过len() 请长度
my_tuple = (1, 2, True, 'T', 3.12, 2, 1, 0, 6)
print(len(my_tuple)) # 9
4.通过count() 统计某个数据个数
my_tuple = (1, 2, True, 'T', 3.1, 2, 1, 0, 6)
print(my_tuple.count(2)) # 2
5.元组遍历
my_tuple = (1, 2, True, 'T')
for i in my_tuple:
print(i)
三、实现交换两个变量的值
需求x=2,y=4 -> x=4,y=2
简单实现
x = 2
y = 4
print(x, y) # 2 4
c = x
x = y
y = c
print(x, y) # 4 2
通过组包和拆包实现
x = 2
y = 4
print(x, y) # 2 4
z = x, y # 和z = (x, y)等价,定义元组时可以不写括号,也成为了组包pack
print(z, type(z)) # (2, 4) <class 'tuple'>
a, b = z # 拆包unpack,将容器中多个值分别给多个变量的过程
print(a, b) # 2 4
# 把a b替换为y x
y, x = z
print(x, y) # 4 2
# 以上简化为 y, x = x, y
x = 2
y = 4
print(x, y) # 2 4
y, x = x, y
print(x, y) # 4 2