day6-元祖和字典
元祖
-
什么是元祖(tuple)
元祖是
不可变
的列表元祖是容器型数据类型,将()作为容器标志,里面多个元素用逗号隔开:(元素1,元素2…)
元祖
不可变
(不支持元素的增删改);元祖是有序
的(支持下标的操作)元素:
任何数据类型
,并且可以重复t1 = (1,3,'abc',85) print(type(t1), t1) # <class 'tuple'> (1,3,'abc',85)
-
只有一个元素的元祖
如果元祖中有且只有一个元素,那么唯一的元素的后面必须加逗号
t2 = (12,) print(type(t2)) # <class 'tuple'>
-
省略括号
在没有歧义的情况下,可以省略元祖的(),直接将多个元素用逗号隔开来表示一个元祖
t5 = 'abc',42,58,True print(t5,type(t5)) # # ('abc', 42, 58, True) <class 'tuple'>
-
获取元素
1)列表获取元素的方法元祖都支持
song = ('葫芦娃', '稻香', '夜曲', '下山') print(song[1]) print(song[1:]) for x in song: print(x) for index,x in enumerate(song): print(index,x) for index in range(len(song)): print(song[index])
2)让变量的个数和元祖中元素的个数保持一致 来获取元祖所有元素的值
变量1,变量2,变量3… = 元祖
num1,num2,num3 = (12,25,6) x,y,z = 2,25,6
3)同时用多个变量获取元祖中的元素的时候,变量的个数可以比元祖中的个数少,但是有且只有一个变量的前面加*
*m,n = 25,12,6 print(*m,n) # 25,12,6 stu = ('小明','男',20,52,170) m1,*m2,m3 = stu print(m1,*m2,m3) # 小明 ['男', 20, 52, 58, 6] 8
-
元祖的相关操作
列表相关操作元祖都支持
print((1,2,3) + (4,5)) # (1,2,3,4,5) print((1,2,3)*2) # # (1, 2, 3, 1, 2, 3) print((1,2,3) > (44,2)) # False print((1,2,3) == (1,3,2)) # False (元祖是有序的)
in 和 not in
print(10 in (10,20,30)) # True print(10 not in (10,20,30)) # False
sum,max,min, sorted,len,tuple
t1 = (1,2,3) print(sum(t1)) print(max(t1