不爱学习的刘同学

导航

5_元组

# 元祖
# 1.认识元祖
'''
元祖和列表相似,但元祖属于不可变序列,
所以元祖:
1.不能修改元素的值
2.元祖用()表示
'''

# 2.创建元祖
'''
t1 = () # 创建一个空元祖
t1 = tuple() # 空元祖

t2 = (1,) # 创建一个带有元素的元祖,后面必须有逗号,不然无法区别是表达式还是元组
t3 = (1,3,True,"hello")
t4 = 10,20,30
t5 = tuple('abc')
'''

# 3.成员访问
'''
t1 = (10,7,12)
print(t1[0]) # 下标越界报错

t2 = (1,2,[3,4])
t2[2][0] = 10 #元组的元素不能修改,但元素如果是可变列表,则列表元素是可以修改的
'''

# 4.元组操作
'''
1.连接元组
t1 = (1,2,3)
t2 = (4,5,6)
t3 = t1 + t2
print(t3) # (1,2,3,4,5,6)

2.重复元组
print(t1 * 2) # (1,2,3,1,2,3)

3.元组切片
print(t3[0:3]) #(1,2,3)
print(t3[3:]) #(4,5,6)
print(t3[-1::-1]) #(6,5,4,3,2,1)

4.成员运算符
print(3 in t3) #True
print(2 not in t3) #False

5.元素个数
print(len(t3))

6.最值
print(max(t3))
print(min(t3))

7.元组和列表转换
t1 = (10,20,30)
l1 = [1,2,3]

列表转元组
print(tuple(l1))
元组转列表
print(list(t1))

8.查找元组的元素
t1 = (10,20,30)
print(t1.index(10)) #查找等于10的第一个元素,返回该元素的下标
print(t1.count(10)) # 返回元祖中10的个数

9.遍历
t1 = (10,20,30,10)
for value in t1
print(value)

同时获得值和下标
for index,value in enumerate(t1):
print(index,value)

#通过下标遍历
for value in range(len(t1)):
print(t1[value])

# 二维元组遍历
t1 = ((1,2,3),(4,5,6))
for elem in t1:
for value in elem:
print(value)
'''

#4.元组解包
'''
变量的个数和元素的个数相同
t1 = (11,20)
a, b = t1
print(a,b)

a,b = 1,2
a,b,c = (1,2,3)

# 变量个数和元素个数不同时
t1 = [1,2,3,4]
a,*_b,c = t1
print(a,_b,c) #1 2,3 4

*解包
print(*(1,2,3)) #1 2 3

range解包
a,b,c = range(3) #a=0 b=1 c=2

列表解包
a,*_b,c=[1,2,3,4]
print(a,_b,c) #1 [2,3] 4

字符串解包
a,b,c = '123'
print(a,b,c) #a='1',b='2',c='3'

'''

posted on 2022-02-25 23:40  不爱学习的刘同学  阅读(46)  评论(0)    收藏  举报