基本介绍
1、元组(tuple)可以存放多个不同类型数据,元组是不可变序列
tuple 不可变是指当你创建了 tuple 时候,它就不能改变了,也就是说它也没有 append(),insert()这样的方法但它也有获取某个索引值的方法,但是不能重新赋值
2、元组也是一种数据类型
3、创建一个元组,只要把逗号分隔的不同的数据项,使用圆括号括起来即可
python##元组的定义 ''' 1.定义了一个元组,名字为tuple_a,值为(100,200,300,400,500) 2.100 就是其中的一个数据元素 ''' tuple_a=(100,200,300,400,500) tupie_b=('red', 'green', 'blue', 'yellow', 'white', 'black') #输出元组数据 print(f"元组的内容是{tuple_a} 类型是:{type(tuple_a)}") print(f"元组的内容是{tuple_b} 类型是:{type(tuple_b)}")
元组的基本使用
元祖名 [索引]
元组的使用
python
tuple_color =('red', 'green', 'blue', 'yellow', 'white', 'black')
ptint(f"touple_color元组的第1个元素为:, touple_color[0]")
元组的遍历
什么是元组的遍历,简单的说,就是将元组的每个元素依次取出,进行处理的操作,就是遍历 / 迭代。
python
tuple_color =('red', 'green', 'blue', 'yellow', 'white', 'black')
#实例:使用while循环,对列表进行遍历输出tuple_while.py
# while 遍历元组
tuple color = ('red', 'green', 'blue', 'yellow', 'white', 'black')
index = 0
while index < len(tuple_color)
print(f"第{index+=1}的元素的值:, {tuple_color[index]}")
index += 1
#实例:使用for循环,对列表进行遍历输出 tuple_for.py
for ele in tuple_color:
print(f"元素是:{ele}")
元组的注意事项和细节
1、如果我们需要一个空元组,可以通过(),或者 tuple()方式来定义
python#1.如果我们需要一个空元组,可以通过()或者tuple()方式来定义 tuple_a =() tuple_b = tuple() print(f"tuple_a 内容是{tuple_a} 类型是{type(tuple_a)}")print(f"tuple_b 内容是{tuple_b} 类型是{type(tuple_b)}")
2、元组的元素可以有多个, 而且数据类型没有限制(甚至可以嵌套元组),允许有重复元素,并且是有序的
python#2、元组的数据项可以有多个,而且数据类型没有限制 tuple_c =(100,"jack",4.5,True, "jack") print(tuple_c) #嵌套元组 tuple_d =(100,"tom",("天龙八部","笑傲江湖",300)) print("tuple_d=", tuple_d)
3、元组的索引 / 下标是从0开始的
4、元组索引必须在指定范围内使用,否则报:IndexError: tuple index out ofrange,比如 tuple_d=(1,2.1,"韩顺平教育") 有效下标为 0-2
5、元组是不可变序列(要注意其使用特点)
python#元组的元素是不能修改,会报错 TypeError: "tuple'object does not support item assignment tuple e=(1,2.1,'韩顺平教育') tuple_e[2]='python' #不能修改
6、可以修改元组内 list 的内容(包括 修改、增加、删除等)
python#6、可以修改元组内 list的内容(包括 修改、增加、删除等) tuple_f =(1,2.1,'韩顺平教育',["jack","tom","mary" ] #访问元组中list及其元素 print(tuple_f[3]) print(tuple_f[3][0]) # 修改 tuple_f[3][0]= "HSP" print(f"tuple_f 内容是 {tuple_f}") # 删除 del tuple_f[3][0] print(f"tuple_f 内容是 {tuple_f}") # 增加 tuple_f[3].append("smith") print(f"tuple_f 内容是 {tuple_f}")
7、索引也可以从尾部开始,最后个元素的索引为-1往前一位为-2,以此类推
8、定义只有一个元素的元组需要带上逗号,否则就不是元组类型
python# 8、定义只有一个元素的元组,需要带上逗号 tuple_h =(100,) print(f"tuple_h的类型是{type(tuple_h)}")
9、既然有列表,为什么还要有元组?
(1)在项目中,尤其是多线程环境中,有经验的程序员会考虑使用不变对象(一方面因为对象状态不能修改,所以可以避免由此引起的不必要的程序错误;另一方面一个不变对象自动就是线程安全的,这样就可以省掉处理同步化的开销。可以方便的被共享访问)。所以,如果不需要对元素进行添加、删除、修改的情况下,可以考虑使用元组
(2)元组在创建时间和占用的空间上面都优于列表
(3)元组能够对不需要修改的数据写保护
元组的常用操作
