一.元组的作用
元组就是一个不可变的列表
元组作用:按照索引存在多个值,只能用于取(读),不能用于改;列表是可存(取,读),也能修改;
如果需要只读操作,应该用元组,同等数据量的情况下,元祖比列表更节省空间,效率要高
二.元组的定义与运用
定义:与列表类似,只不过是列表的[]变为了(),小括号内用逗号分隔开多个任意类型的元素
t = (12,13.5,"xialiang",["zhangsan","lisi"]) # t = tuple (12,13.5,"xialiang",["zhangsan","lisi"]),元组中可以放整型、浮点型、字符串、列表等都可以
print(type(t))
输出结果:<class ‘tuple‘> # 输出结果显示为一个元组
t = (10) #单独一个小括号代表包含的意思,如果只放一个元素,这样就会认为是一个定义的元素,当放数字时就为认为是int类型,当放字符串时就会认为是str类型等 print(type(t))
输出结果:<class ‘int‘>
t = (10,) #如果小括号中只放一个元素,想要定义为元组时,就必须在后面加上逗号
pirnt(type(t))
输出结果:<class ‘tuple‘>
注意:元组是不可变类型,是对元组中的值的内存地址不可变的;但是,如果元组中包含列表(列表为可变类型),里面的列表中的值时可以修改的
案例一,元祖不可修改
t = (111,222,"xialiang")
t[0] = 111111 #下标是表示值的内存地址,这里改变了下标为0的内存地址,所以在运行时会报错
print(t) #程序会报错,
案例二,元组中包含列表
t = (111,222,"xialiang",["zhugui",23])
t[3][0] = "zhuyongpei" #修改了类别中的下标为0的值,这时没有修改元组下标为3的内存地址,只是修改了元组下标为3中列表中下标为0的内存地址
print(t) #能修改成功
三.元组的类型转换
print(tuple("xia")) # 把一个字符串转换为元组
输出结果:(‘x‘, ‘i‘, ‘a‘)
print(tuple([1,2,3,4])) # 把一个列表转换为元组
输出结果:(1, 2, 3, 4)
print(tuple({"k1":11,"k2":22})) # 把一个字典转换为元组
输出结果:(‘k1‘, ‘k2‘, ‘k3‘)
四.元组的内置方法
注:与列表中的一样,除了不能修改里面的值,其他与列表操作一致
t = (1,"xialiang",3,4,5)
print(t[0]) #正向取值
print(t[-1]) #反向取值
print(t[0:3:2]) #切片+步长
print(t[::-1]) #反转
print(len(t)) #长度
print(3 in t) #成员运算in 和 not in
for x in t: #循环
print(x)
print(t.index("xialiang"))# 查看值的下标
pitnt(t.count("xialiang"))#查看值在元祖中的个数
原文:https://www.cnblogs.com/xialiang37/p/14058602.html