python中的元组(tuple)
1.什么是元组?
元组也是容器数据类型的一种,同列表几乎是一样的,都是可以在里面封装多个,不同类型的元素在内;与列表最大的不同就是:
元组一旦被定义,就不能修改
2.元组的定义:
定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
"""
元组的定义:
# 定义元组字面量 : (元素,元素,....元素) 是小括号,列表的话就是中括号[]
# 定义元组变量: 变量名称= (元素,元素,....元素)
# 定义空元组
变量名称=() #方式1
变量名称=tuple() #方式2
注意事项:
定义三个元素的元组: t1=(1,'hello',True)
定义一个元素的元组: t2=('hello',) # 注意:必须带有逗号,否则就不是元组类型
注意:元组只有一个数据时,这个数据后面要添加逗号,否则就不是元组类型
"""
3.元组的操作和代码演示:
"""
演示tuple元组的定义和操作
"""
# 定义元组
t1 = (1, 2, 3)
t2 = ('coco', 'xiaoxiao')
t3 = ('xuanxuan',) # 只有一个元素时,元素后面要加个逗号
t4 = tuple() # t4=() 定义空元组
# 元组的嵌套
t11 = ((1, 2, 3), (4, 5, 6))
print(t11[1][1]) # 获取下标元素的方法和列表是一样的
# 元组的操作:index查找方法
t0 = (1, 2, 'hello', 'coco', True)
index = t0.index(2)
index1 = t0.index('cococ') # 报错 tuple.index(x): x not in tuple
print(f'2所在元组的位置是:{index}--{index1}')
# 元组的操作:count统计方法
t10 = (1, 'coco', 'xiaoxiao', 1, 2, 3)
count1 = t10.count(1)
print(f'元素1在元组中出现的次数是:{count1}')
# 元组的操作:len函数统计元组元素数量
t11 = (1, 2, 3, 4, 5, 6)
t11_len = len(t11)
print(f'元组t11的长度是:{t11_len}')
# 元组的遍历:while循环
t12 = (1, 2, 3, 4, 5, 6)
index = 0
while index < len(t12):
print(f'元组t12中的第{index + 1}个元素是:{t12[index]}')
index += 1
# 元组的遍历:for循环
index = 1
for i in t12:
print(f'元组t12中的第{index}个元素是:{i}')
index += 1
4.元组中的相关操作中的注意事项:
# 不可以修改元组的内容,否则会直接报错的
t1 = (1, 2, 3)
# 尝试修改元组的内容
# t1[0] = 7 # 报错:TypeError: 'tuple' object does not support item assignment
# 但是元组是可以修改里面嵌套的列表的内容的
t2 = (1, 2, 3, [4, 5, 6])
t2[3][0] = 'coco'
print(f'修改元组中列表的内容后,元组是:{t2}') #元组是:(1, 2, 3, ['coco', 5, 6])
5.元组的特点总结:
- 可以容纳多个数据
- 可以容纳不同类型的数据
- 数据是有序储存的
- 允许重复数据存在
- 不可以修改(元组内的列表元素是可以修改的)
- 支持while,for循环