参考:详解Python语言中元组和列表的区别
相同点:都是线性表
不同点:python元组赋值吼所存储的数据不能被程序修改,元组可以看作是只能读取数据不能修改数据的列表。
元组的声明与赋值
与列表相同,但是元组使用小括号,列表使用方括号,元素之间都是使用英文逗号隔开
student=('张明','王三','马四')
student=('张明',)
score=('张明',(96,83,92),'赵虎',(98,97,100))
元组访问
元组的访问和列表相同,可以直接使用下标索引访问元组中的单个数据项,也可以使用截取运算符访问子元组。访问运算符包括“[]”和“[:]”运算符,用于访问元组中的单个数据项,或者一个子元组。
student=('张明','王三','马四')
print(student[0]+":"+student[2])
score=('张明',(96,83,92),'赵虎',(98,97,100))
print("张明的成绩:语文:%d,数学:%d,英语:%d" %(score[1][0],score[1][1],score[1][2]))
更新元组
元组不可修改,在程序运行过程中无法对元组的元素进行插入和删除运算,可以通过在构造一个新的元组来替换旧的元组,来实现元素的插入和删除。
元组合并
student1=('张明','王三','马四')
student2=('张三','李四','王五','赵八')
score=('张明',(96,83,92),'赵虎',(98,97,100))
student=student1+student2+score
元组的遍历
student=('张明','王三','马四')
for st in student:
print("序号:%s,值:%s" %(student.index(st)+1,st))
或者:
student=('张明','王三','马四')
for i in range(len(student)):
print("序号:%s,值:%s" %(i+1,student[i]))
或者:
student=('张明','王三','马四')
for i,st in enumerate(student)):
print("序号:%s,值:%s" %(i+1,st))
列表一旦创建了,我们可以根据自己的需要任意改变它的内容:
l = [1, 2, 3, 4, 5, 6]
l[0] = l[2] * l[3]
print(l)
[12, 2, 3, 4, 5, 6]