python之序列结构 元组(五)

我们上一篇博客已经提到过列表,功能可以说是特别的多也很强大,但是负担也很重,很大程度上影响了我们的运行效率,故我们学习接触一下一个轻量级的列表-----元组


形式上元组的所有元素都在一对圆括号内,元素之间使用逗号分隔,如果元组中只有一个元素,则必须在最后增加一个逗号

元组创建与元素访问

e.g.

x = (1,2,3) #直接把元组赋给一个变量
type(x) #查看类型

x[0] #输出1,支持使用下标访问特定位置的元素
x[-1] #最后一个元素,元组支持双向索引
x[1] = 4 #元组是不可变的,异常报错

x = (3,) 
#如果元组中只有一个元素,必须在后面多写一个逗号

#空元组
x= () 
x = tuple()

tuple(range(5))
#其它迭代对象转换为元组(0,1,2,3,4)

注意一下
由于元组属于不可变序列,不可直接修改元组中的元素值,也无法增加或删除元素,但可用del删除整个元组,有切片操作但只用来访问元组中的元素,从一定程度上,,可理解为常量列表,轻量级列表

e.g.

x = ([1,2],3) #包含列表的元组
x[0][0]  = 5 #修改元组中的列表元素
x[0].append(8) #为元组中的列表元素增加元素
#输出为([5,2,8],3)

x[0] = x[0] + [10] #试图修改元组的值,失败

x[0] += [10] #抛出异常,但元组中的值已被修改
#输出([5,2,8,10],3)

y = x[0] #y 和x[0]指向同一个列表
y+=[11] #通过y 可以影响元组x中的第一个列表
#输出x
#([5,2,8,10,11],3)

y = y + [12] #注意这和y += [12]有本质区别
#分别输出y和x[0]
#([5,2,8,10,11,12],3)
#([5,2,8,10,11],3)
发布了78 篇原创文章 · 获赞 181 · 访问量 8696

猜你喜欢

转载自blog.csdn.net/qq_44790423/article/details/100621516
今日推荐