列表vs.元组
二者非常相似,但是列表增、删查、改都可以,而元组除了定义时不可以改(增加、删除),用法和列表相同
元组不能变,说的是元组中的元素,如果里面的元素有列表,则列表里面的数据可以变,因为对于列表,元组里面存储的是其地址,即,地址不可变,但通过该地址找到的另一块内存里面的数据可以变
tuple5 = (1,2,3,4,[5,6,7])
tuple5[1][0] = 400
print(tuple5)
tuple[1] = 1 #报错
元组的访问
格式:元组名[下标]
下标可以为负
tuple4 = (1,2,3,4)
print(tuple4[2]) #输出3
print(tuple[-1]) #输出4
n1,n2,n3,n4 = tuple4 #将元组的元素挨个赋值给n1,n2,n3,n4,相当于拆包
元组的删除
- 删除整个元组,而非元组里面的数据
tuple6 = (1,2,3)
del tuple6 #del可以删除变量
元组的操作
- 相加
t7 = (1,2,3)
t8 = (4,5,6)
print(t7 + t8)
t9 = t7 + t8
print(t9)
- 重复
t10 = (1,2,3)
print(t10 * 8)
- 判断元素是否在元组里面
t11 = (1,2,3)
print(3 in t11)
- 元组的截取
格式:元组名[start:end] #包头不包尾
t12 = = (1,2,3,4,5,6,7,8,9)
print(t12[3:])
print(t12[:5])
print(t12[2:5])
二维元组
t13 = ((1,2,3),(3,4,5),(6,7,8))
print(t13[1][2])
程序员数数一般从0开始
元组的方法
- len()
返回元组中元素的个数
t14 = (1,2,3)
print(len(t14))
- max()/min()
*求元组中的最大/最小值
t15 = (1,2,4,5,6,7)
print(max(t15))
print(min(t15))
- 将列表转成元组
与将元组转成列表类似,相当与强制类型转换
list = [1,2,3]
t = tuple(list)
print(t)
print(list(t)) #元组转列表
- 元组的遍历
for i in (1,2,3,4):
print(i)
为什么需要元组
Ans:安全,因为元组不可变,以后能用元组的地方,尽量用元组