元组():
1、不可变序列,不能增加、修改、删除元组中的元素,但是是序列,可以有序列的相关操作
t=tuple([10,20,30])
print("10在元组中是否存在:",(10 in t))
print("最大值:",max(t))
print("最小值:",min(t))
print("长度:",len(t))
print("index:",t.index(10)) #10在t这个元组中的索引
print("count:",t.count(10)) #10在t这个元组中出现的次数
结果:
2、元素之间用英文逗号隔开,元组中仅一个元素的时候,逗号也不能省略
t=(10)
print(t,type(t))
t=(10,)
print(t,type(t))
结果:
3、创建元组有两种方式
(1)t=('hello',[1,2,3],python)
运行结果:
(2)t=tuple('helloworld')
运行结果:
4、元组可以删除,使用 del
5、可以使用索引进行操作
t=('pyhton','hello','world')
print(t[0])
t2=t[0:3:2] #切片,0-3,步长为2,那么就是取索引0-3中的第0个和第2个
print(t2)
结果:
6、遍历使用for循环
t=('pyhton','hello','world')
#方式一:
for item in t:
print(item)
#方式二:
for i in range(len(t)):
print(i,t[i])
#方式三,默认序号从0开始:
for index,item in enumerate(t):
print(index,'---->',item)
#可以手动规定起始序号
for index,item in enumerate(t,start=11):
print(index,'---->',item)
结果:
7、生成器
t=(i for i in range(1,4))
print(t)
t=tuple(t)
print(t)
for item in t:
print(item)
结果:
__next__() 是直接作用于生成器,因此不能转为元组,在__next__()用法之前也不能有 其他循环遍历操作,因为被遍历后,__next()__就取不到数据
__next__() 是print一次,就从生成器中取出一个值,当全部值都取出后,再去转为元组打印,会发现元组为空
t=(i for i in range(1,4))
print(t)
print(t.__next__())
print(t.__next__())
print(t.__next__())
t=tuple(t)
print(t)
结果: