python学习笔记-元组

元组:不可变类型,创建后内容就不可变。列表list,集合set创建完后我们可以进行修改,但是元组tuple不行

元组
tuple1 = (1,1,2,3,'a')
print(type(tuple1)) #<class 'tuple'>
print(tuple1) #(1, 1, 2, 3, 'a')

#元组里面可以嵌套元组
tuple2 = ('c','b',(1,'m'))
print(tuple2)
tuple3=(tuple1,tuple2)
print(tuple3)

#元组可以包含列表,元素可以重复
tuple4 = (1,1,['a','b'])
print(tuple4) #(1, 1, ['a', 'b'])
1.一个元素的元组

特别注意!

#正确方式
tuple5=(1,)
print(type(tuple5)) #<class 'tuple'>
print(tuple5) #(1,)
#错误方式,创建出来的是int,不是元组
tuple6=(1)
print(type(tuple6)) #<class 'int'>
print(tuple6) #1
2.空元组
tuple7=()
print(tuple7) #()

3.索引查询
tuple8=(1,2,3,4,'a','b','c')
print(tuple8[1]) #2
print(tuple8[-1]) #c
4.切片,跟列表的切片list差不多
#起始索引1,终止索引3(不包含3)
print(tuple8[1:3]) #(2,3)
#起始索引0,终止索引6,步长2
print(tuple8[0:6:2]) #(1,3,'a')
5.元组不能改变
tuple9=(1,2,3,4,5)
tuple10=('a','b','c')
#tuple9[0]='a' #不能修改里面元素,会改变原来的tuple
#del tuple9[0] #不能删除元素,会改变原来的tuple
#当然往tuple里新增元素也是不行的

拼接和复制都是可以的,因为并没有改变原来的tuple,是产生了一个新的tuple,例如下面的tuple11和tuple12

#拼接
tuple11 = tuple9+tuple10
print(tuple11) #(1, 2, 3, 4, 5, 'a', 'b', 'c')
#复制
tuple12 = tuple9*2
print(tuple12) #(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
#判断一个元素是否在tuple里,返回True或False
print('a' in tuple10) #True
#最大值
print(max(tuple9)) #5
#删除整个元组
del tuple10
6.元组和list可以互相转化
list1=[1,2,3]
tuple13=('a','b','c')
print(tuple(list1)) #(1,2,3)
print(list(tuple13)) #['a','b','c']
7.元组的元素赋值给变量和引用赋值给变量
tuple15=(1,2,3)

a,b,c=tuple15 #相当于解包,将元组每一个元素赋值给变量,左边接收变量个数要和元组元素个数相等
print(a,b,c) #1,2,3

#如果是单个变量,相当于将tuple15引用给了变量m,所以变量m是指向tuple15内存地址
m = tuple15  
print(m) #(1,2,3)
print(id(m)) #2502953003432
print(id(tuple15)) #2502953003432 这两个变量内存地址相等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值