Python元组和Python列表数据类似,都是线性表。唯一不同的是,Python元组赋值后所存储的数据不能被程序修改,可以将元组看作是只能读取数据不能修改数据的列表。
====创建元组=====
声明一个元组并赋值的语法与列表相同,不同之处是元组使用小括号,列表使用方括号,元素之间也是用英文逗号分隔。
当创建的元组中只有一个元素时,此元组后面必须要加一个逗号“,”,否则 Python 解释器会将其误认为字符串。
示例:
atuple = ('a')
btuple = ('b',)
print(type(atuple))
print(type(btuple))
结果:
<class 'str'>
<class 'tuple'>
=====访问元组=========
元组的访问和列表相同,可以直接使用下标索引访问元组中的单个数据项,也可以使用截取运算符访问子元组。
访问运算符包括“[]”和“[:]”运算符,用于访问元组中的单个数据项,或者一个子元组。
示例:
ctuple=('jane',(10,9,8),'tom',(8,9,10))
print(ctuple[1])
print(ctuple[0:2])
print("Jane's score,English:%d,Math:%d"%(ctuple[1][0],ctuple[1][1]))
结果:
(10, 9, 8)
('jane', (10, 9, 8))
Jane's score,English:10,Math:9
====更新元组======
元组是不可修改类型,虽然在程序运行过程中无法对元组的元素进行插入和删除运算。但元组可以通过再构造一个新的元组替换旧的元组,来实现元素的插入和删除。
etuple = (1,2,3)
etuple =('a','b')
print(etuple)
结果:
('a', 'b')
etuple = (1,2,3)
etuple =etuple[0],etuple[1]
print(etuple)
结果:
(1,2)
====元组的合并======
可以把多个元组合并成一个元组,合并后的元组元素顺序保持不变。合并后的元组为一个新的元组,原有的元组保持不变。
dtuple = (1,2,3)
etup =(4,5,6)
print(dtuple+etup)
结果:
(1,2,3,4,5,6)
===元组的遍历=====
元组的遍历方式和列表相同,都是应用for循环语句遍历元组的元素。
#迭代遍历
dtuple = [1,2,3,'sss',3]
for i in dtuple:
print(i,,end=' ')
#索引遍历
dtuple = [1,2,3,'sss',3]
for i in range(len(dtuple)):
print(dtuple[i],,end=' ')
#枚举遍历
dtuple = [1,2,3,'sss',3]
for i,st in enumerate(dtuple):
print(st,,end=' ')
结果:
1 2 3 sss 3
====元组常用方法====
可以使用的主要方法有计算元组个数、求元组中最大值、求元组中最小值等方法。
dtuple = [1,2,3,6,3]
count = len(dtuple)
print("tuple counts:%d" % count)
max = max(dtuple)
print("max value:%d"% max)
min = min(dtuple)
print("min value:%d"%min)
结果:
tuple counts:5
max value:6
min value:1
====元组与列表的区别======
元组与列表相同,也是容器对象,可以存储不同类型的内容。
元组与列表有两个不同点:
第一个不同点是元组的声明使用小括号,而列表使用方括号,当声明只有一个元素的元组时,需要在这个元素的后面添加英文逗号;
第二个不同点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。
另,用于列表的排序、替换、添加等方法也不适用于元组,适用于元组的主要运算有元组的合并、遍历、求元组的最大值和最小值等操作方法。