元祖(tuple)
元组也是一个容器,里面可以存放各种数据(和列表相似),但他有一个特殊的特点:元组的儿子
元素不允许添加、不允许修改、不允许删除,只能读。
一般用于存储一些在程序中不应该被修改的一系列值。
1 元组的定义
v1 = (11,22,33,)
v2 = ("11","22",)
v3 = ("44",)
注意:建议在元组的最后多加一个逗号,用于标识他是一个元组。
# 面试题
1. 比较值 v1 = (1) 和 v2 = 1 和 v3 = (1,) 有什么区别?
2. 比较值 v1 = ((1),(2),(3)) 和 v2 = ((1,),(2,),(3,),) 有什么区别?
2 常见操作
无
3 转换
其他类型可以转换为元组,一般可以被循环的元素才能转换,目前我们学到的可以被循环有:字符串和列表。
name = "111"
data = tuple(name)
print(data) # 输出 ("1","1","1")
name = ["11",18,"11"]
data = tuple(name)
print(data) # 输出 ("11",18,"11")
4 其他
元组和列表非常相似,但由于元组的子元素无法修改的特点,所有在元组都没有修改、删除、添加的操作,只有读操作。
-
获取长度
user_list = ("11","22",'33',) print( len(user_list) )
-
索引
user_list = ("aa","bb",'cc',) print( user_list[0] ) print( user_list[2] ) print( user_list[3] )
-
切片
user_list = ("aa","bb",'cc',) print( user_list[0:2] ) print( user_list[1:] ) print( user_list[:-1] )
-
步长
user_list =("aa","bb",'cc','dd','rr') print( user_list[12] ) print( user_list[0::2] ) print( user_list[1::2] ) print( user_list[4-1] )
-
for循环
user_list =("aa","bb",'cc','dd','rr') for item in user_list: print(item)
user_list =("aa","bb",'cc','dd','rr') for item in user_list: if item == '刘华强': continue print(name)
5 嵌套
由于元组和列表都可以充当容器
,他们内部可以放很多元素,并且也支持元素内的各种嵌套。
tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子低声说道说和姐夫还提钱'))
tu1 = tu[0]
tu2 = tu[1]
tu3 = tu[2][0]
tu4 = tu[2][1]
print(tu1) # 今天姐姐不在家
print(tu2) # 姐夫和小姨子在客厅聊天
print(tu3) # 姐夫问小姨子税后多少钱
print(tu4) # 小姨子低声说道说和姐夫还提钱