tuple(元组)
元组同列表一样,都是可以封装多个,不同类型的元素在内,但是最大的不同点在于:元组一旦定义完成,就不可以修改
- 当我们需要程序内封装数据,又不希望封装的数据被篡改,那么元组就非常合适了
基础语法:
元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
#定义元组字面量
(元素,元素,......,元素)
#定义元组变量
变量名称 = (元素,元素,.......,元素)
#定义空元组
变量名称 = () #方式1
变量名称 = tuple() #方式2
#定义元组
t1 = ('python','java','c++')
t2 = ()
t3 = tuple()
#单个内容的元组
t4 = ('c语言',)
print(f"t1的类型是:{type(t1)},内容是:{t1}")
print(f"t2的类型是:{type(t2)},内容是:{t2}")
print(f"t3的类型是:{type(t3)},内容是:{t3}")
print(f"t4的类型是:{type(t4)},内容是:{t4}")
注意:元组只有一个数据,这个数据后面要添加逗号
元组的嵌套
#元组的嵌套
t5 = ((1,2,3),(4,5,6))
print(f"t5的类型是:{type(t5)},内容是:{t5}")
元组:下标索引去取出内容
t5 = ((1,2,3),(4,5,6))
num = int(t5[1][2])
print(num)
元组的相关操作:
- index() 查找某个数据,如果数据存在返回对应的下标,否则报错
- count() 统计某个数据在当前元组出现的次数
- len(元组)统计元组内的元素个数
t1 = ('python','java','c++')
index = t1.index('c++')
print(f"在元组t1中查找c++的下标是:{index}")
t1 = ('python','java','c++')
num = t1.count('c++')
print(f"在元组t1中c++的数量是:{num}")
t1 = ('python','java','c++')
num = len(t1)
print(f"在元组t1中元素的数量是:{num}")
元组的遍历:while
t1 = ('python','java','c++')
index = 0
while index < len(t1):
print (f"元组的元素有:{t1[index]}")
index += 1
元组的遍历:for
t1 = ('python','java','c++')
for index in t1:
print (f"元组的元素有:{index}")
具体案例:
information = ('周杰伦',11,['football','music'])
index = information.index(11)
print(f'年龄所在的下标位置是:{index}')
name = information[0]
print(f'学生的姓名是:{name}')
del information[2][0]
information[2].append('coding') #修改元组内list的内容
print(information)
虽然不可以修改元组的内容,但是可以修改元组内list的内容(修改元素,增加,删除,反转等)