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