目录
一,元组理解
1.1)基本定义
1.2)元组长度
1.3)数据类型
二,访问元组
2.1)索引号访问
2.2)负索引
2.3)范围性索引
2.4)检查项目值是否存在
三,更新元组
3.1)转换为列表更新
3.2)添加项目值
3.3)删除项目
四,解包元组
4.1)包装元组
4.2)解包元组
4.3)使用星号*
五,循环元组
5.1)遍历元组
六,元组合并
6.1)合并两个元组,我们用+连接就可。
6.2)如果要将元组的内容乘以给定次数,可以使用*运算符
6.3)count函数用于返回指定值次数
6.4)index()找出指定值并返回他的下标
元组用于在单个变量中存储多个项目。Tuple是Python中用于存储数据集合的4种内置数据类型之一,其他三种分别是:
- List(列表):用来表示一组有序元素,后期数据可以修改
- Sets(集合):一组数据无序不重复元素
- Dictionary(字典):用键值对的形式保存一组元素
他们具有不同的性质和用法。
元组是一个集合有序的和不可改变的。元组是用圆括号写的。
mytuple = ("川川一号", "川川二号", "川川三号")
print(mytuple)
元组项是有序的,不可改变的,并允许重复值。元组项被索引,第一项被索引[0]等。
mytuple = ("川川一号", "川川二号", "川川三号",'川川一号')
print(mytuple)
mytuple = ("川川一号", "川川二号", "川川三号")
print(mytuple[0])
和列表一样,用到len函数,例子如下:
mytuple = ("川川一号", "川川二号", "川川三号")
print(len(mytuple))
一项元组,记住要有逗号,不然就不是元组看,为字符串,下边就两个我在做一个对比:
mytuple=('川川一号',)
print(type(mytuple))
mytuple=('川川一号')
print(type(mytuple))
元组项可以是任何数据类型:字符串,整数和布尔数据类型
tuple1 = ("川川一号", "川川二号", "川川三号",'川川一号')
tuple2 = (1, 8, 5, 9, 3)
tuple3 = (True, False, False)
元组可以包含不同的数据类型,包含字符串,整数和布尔值的元组
tuple4 = ("川川一号", 34, True, 40, "帅哥")
使用tuple()来创建元组
tuple5=tuple(('川川一号','川川二号','川川三号'))
print(tuple5)
print(type(tuple5))
tuple5=('川川一号','川川二号','川川三号')
print(tuple5)
print(type(tuple5))
可以通过引用方括号内的索引号来访问元组项,比如打印第二项:
mytuble =('川川一号','川川二号','川川三号')
print(mytuble[1])
负索引意味着从头开始,-1指的是最后一项,-2指的是倒数第二项。
mytuble =('川川一号','川川二号','川川三号')
print(mytuble[-1])
返回第二,第三项
mytuble =('川川一号','川川二号','川川三号')
print(mytuble[1:3])
上面搜索是从第一项开始,到3结束(不包括3)
要确定元组种是否存在指定项目,使用in关键字
mytuble =('川川一号','川川二号','川川三号')
if '川川一号' in mytuble:
print("yes,川川一号在元组列表")
元组是不可改变的,这意味着一旦创建了元组,就无法更改,添加或删除
解决方法:将元组转换为列表,更改列表,然后列表转换为元组。
x = ("川川一号", "川川二号", "川川三号",'川川一号')
y = list(x)#转换为列表类型
y[1] = "帅哥"
x = tuple(y)#转换为元组类型
print(x)
由于元组是不可变的,他们没有内置append()方法,但有其他方法可以项元组添加项
方法一:转换为列表,就像更改元组的解决方法一样,您可以将其转换为列表,添加您的项目,然后将其转换回元组。
例如,将元组转换为列表,添加’爱你‘,然后将其转换为元组:
thistuple = ("故人一号",'故人二号')
y=list(thistuple)
y.append('爱你')
thistuple=tuple(y)
print(thistuple
)
方法二:将元组添加到元组,您可以项元组添加元组,因此如果项添加一个或多个项目,使用该项目创建一个新元组,并将其添加到现有元组中。
thistuple = ("故人一号",'故人二号')
y=('爱你',)#注意:创建只有一个item的元组是时,记得在item后面加上逗号
thistuple+=y
print (thistuple)
不能删除元组中的项目,元组是不可更改的,因此您无法从中删除项目,但是可以转换为列表进行删除。
thistuple = ("故人一号",'故人二号')
y=list(thistuple)
y.remove("故人一号")
thistuple=tuple(y)
print(thistuple)
或者可以完全删除元组,del关键字可以完全删除元组。
this = ("川川菜鸟", "川川二号", "川川三号",'川川一号')
del this
print(this)
注意这里会报错,因为这个元组已经不存在了。
当我们创建一个元组时,我们通常会为其分配值,这称为’打包‘元组
fruits=('apple','banana','cherry')
print(fruits)
但是,在python中,我们也可以将值提取回变量中,这称为解包
fruits=('apple','banana','cherry')
(green,yellow,red)=fruits
print(green)
print(yellow)
print(red)
如果变量的数值少于值的数量,可以在*在变量名中添加一个值将作为列表分配给变量。
例:将其余值分配给名为’red‘的列表
fruits=('apple','banana','cherry','strawberry','raspberry')
(green,yellow,*red)=fruits
print(green)
print(yellow)
print(red)
如果星号被添加到另一个变量名而不是最后一个,python将为变量赋值,直到剩余的值数量与剩余的变量数量匹配
例:添加值列表’tropic变量
fruits=('apple','mango','papaya','pineapple','cherry')
(green,*yellow,red)=fruits
print(green)
print(yellow)
print(red)
方法一,直接遍历
thistuple=('故人一号','故人二号','故人三号')
for i in thistuple:
print(i)
方法二:遍历索引号
使用range()和len()函数创建合适的可迭代对象
thistuple=('故人一号','故人二号','故人三号')
for i in range(len(thistuple)):
print(thistuple[i])
方法三:使用while循环
thistuple=('故人一号','故人二号','故人三号')
i=0
while i < len(thistuple):
print(thistuple[i])
i=i+1
tuple1=('故人一号','故人二号','故人三号')
tuple2=(1,2,3)
tuple3=tuple1+tuple2
print(tuple3)
thistuple=('故人一号','故人二号','故人三号')
tuple=thistuple*2
print(tuple)
例如 查找5出现的次数
thistuple=(1,3,7,8,2,3,4,5,6,7,7,8,5)
x=thistuple.count(5)
print(x)
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.index(8)
print(x)