元组tuple与列表List相似(即也可以包含不同的数据类型,都是有序序列),但不同之处在于:
1)tuple的元素不可以修改(即某一地址里的元组,其内容不可以改变);
2)元组的元素不可以变,但是可以包含可变的对象,如list;
注:定义一个只有1个元素的tuple,必须加逗号;
#1.元组的打印
tup1=() #创建空元组
tup1=(50) #不加逗号,类型为整型
print(tup1) #50
print(type(tup1)) #<class 'int'>
tup1=(50,) #加逗号,类型为元组
print(tup1) #(50,)
print(type(tup1)) #<class 'tuple'>
#2.遍历元组
tup1=('Google','baidu',2000,2020)
tup2=(1,2,3,4,5,6,7)
for i in tup1:
print(i)
#3.基本操作
'''
切片:[起点:终点:步长],左闭右开
'''
print(tup1[0]) #直接下标访问
print(tup1[-1]) #访问最后一个元素
print(tup2[1:5]) #(2, 3, 4, 5)
#增
'''
1)tuple中的元素值不允许修改(即不可以赋值),但可以对tuple进行连接'+';
2)tuple的连接并不是在某个元组上增加,而是再新建一个元组将两部分存储
'''
tup1=(12,'a')
tup2=('abc','xyz')
tup3=tup1+tup2
print(tup3) #(12, 'a', 'abc', 'xyz')
#修改元组操作是违法的
#tup1[0]=100 #TypeError: 'tuple' object does not support item assignment
#删
'''
1)删除整个元组,而不能删除元组中的某个元素;
2)与list不同,tuple删除的彻底(即是从内存中整个删除);
3)删除tuple后,再次访问会出错;
'''
tup4=(11,22,33)
print(tup4)
del tup4
#print(tup4) #NameError: name 'tup4' is not defined
#查
print(11 in tup1)
#得到重复元素的数量
tup5=(1,2,2,5,6)
print(tup5.count(1))