Python3基本数据类型之tuple
Posted zhangyanlong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3基本数据类型之tuple相关的知识,希望对你有一定的参考价值。
tuple
即元组
作用:存多个值,对比列表来说,它不可变,可以当作字典的key,主要用来读。
用()包裹,用,逗号隔开,为了做区分,通常在最后一个元素后面再写一个逗号如 t1=(1,"a",(1,2),3,)
注意的是如果元组只定义一个元素,即 t2=(2) ,python会认为t2就是一个数字,所以必须要加逗号区分,即 t2=(2,)
元素类型可以是不同的
一级元素不可变,一旦初始化就不能修改,没有append(),insert()这样的方法,不能重新给索引赋值。但是如果二级元素可变,则可以更改二级元素,如list。
可以用+连接
可以索引或者切片
可以for循环,即迭代
它是有序的
元素相同,也可以,输出时不会去重
1 1 s1 = "asd123" 2 2 s2=["1","a"] 3 3 s3=(123,34,"asd",) 4 4 v1=tuple(s1)#字符串转为元组,元素被一个个分开 5 5 print(v1) 6 6 v2=tuple(s2)#列表转为元组,元素被一个个分开 7 7 print(v2) 8 8 v3=list(s3)#元组转换为列表 9 9 print(v3) 10 10 v4=str(s3) 11 11 print(v4)#元组转字符串 12 12 #不过这种形式不符合我们的要求 13 13 #当元组中只有字符串时 14 14 s4=("123","asd",) 15 15 print("".join(s4))#输出123asd,str类型
结果
1 (‘a‘, ‘s‘, ‘d‘, ‘1‘, ‘2‘, ‘3‘) 2 (‘1‘, ‘a‘) 3 [123, 34, ‘asd‘] 4 (123, 34, ‘asd‘) 5 123asd
1 t1=(12,"12",[1,2,3,(12,3)],"asd",12,) 2 t1[2][1]=123#元组里的list中的元素可以修改 3 print(t1)
结果
(12, ‘12‘, [1, 123, 3, (12, 3)], ‘asd‘, 12)
元组元素值不能直接修改,但是可以用+进行整合
1 t3=(1,2,"a") 2 t4=("b",) 3 t5=t3+t4 4 print(t5)
结果
1 (1, 2, ‘a‘, ‘b‘)
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
元组要掌握的操作
1.按索引取值(正向+反向),一级元素不能直接改,可以用+间接增加,修改的话可以转list
2.切片
3.长度,len()
4.成员运算,in和not in
5,循环,for
1 tu=(1,"a",(1,1,1),[123,"asd"],True) 2 for item in tu:#可迭代对象 3 print(item) 4 print(tu[1]) 5 print(tu[1:4])
结果
1 1 2 a 3 (1, 1, 1) 4 [123, ‘asd‘] 5 True 6 a 7 (‘a‘, (1, 1, 1), [123, ‘asd‘])
1 T = (1, 2, 3, "a", True, (12, 34), [1, 2, 3]) 2 print(len(T)) 3 4 for item in T: 5 print(item) 6 7 # 和上面效果一样,按索引取值 8 # for i in range(len(T)): 9 # print(T[i]) 10 11 print(1 in T) 12 print(1 not in T)
结果
1 7 2 1 3 2 4 3 5 a 6 True 7 (12, 34) 8 [1, 2, 3] 9 True 10 False
以上是关于Python3基本数据类型之tuple的主要内容,如果未能解决你的问题,请参考以下文章
零基础学PythonDay6 Python基本数据类型之Tuple
python基础--基本数据类型(Tuple(元组)--不可变数据)