python中的元组

元组

元组和列表相似,但元组属于不可变序列,所以元组:

  • 不能修改元素的值
  • 元组用()表示

1.创建元组

 t1 = ()   #创建一个空元组
    #或者
    t1 = tuple() #空元组
    
    t2 = (1,) #创建带有一个元素的元组,后面的逗号是必须的,否则无法区分是()表达式还是元组
    或者:t2 = 1,
    t3 = (1,4,True,'hello')
    t4 = 10,20,30 #t4 = (10,20,30)
    t5 = tuple('abc')

2. 成员访问

t1 = (10,7,12,23)
print(t1[0])
#print(t1[4]) 下标越界 IndexError

t2 = (1,2,[4,5])
t2[2][0] = 10  #元组的元素无法修改,但元素如果是可变列表,则列表元素是可以修改的

3 通用操作

    #1.连接
    t1 = (1,2,3)
    t2 = (4,5,6)
    t3 = t1 + t2
    print(t3)  #(1,2,3,4,5,6)
    
    #2.重复
    print(t1 * 2)  #(1,2,3,1,2,3)
    
    #3.切片
    print(t3[0:3])  #(1,2,3)
    print(t3[3:])   #(4,5,6)
    print(t3[-1::-1]) (6,5,4,3,2,1)
    
    #4.成员运算符
    print(3 in t3)  #True
    print(2 not in t3) #False
    
    #5.元素个数
    print(len(t3))
    
    #6.最值
    print(max(t3))  #6
    print(min(t3))  #1

4 元组其它操作

  • 元组和列表的转换
 t1 = (10,20,30)
      l1 = [1,2,3]
      
      #列表转元组
      print(tuple(l1))
      
      #元组转列表
      print(list(t1))
  • 查找
t1 = (10,20,30,10)
      print(t1.index(20))  #查找值等于20的第一个元素
      print(t1.count(10))  #返回元组中10的个数
- 遍历
      t1 = (10,20,30,10)
      for value in t1:
          print(value)
      #同时获取下标和值
      for index,value in enumerate(t1):
          print(index, value)
      #通过下标遍历
      for i in range(len(t1)):
          print(t1[i])

1.5 二维元组

   t1 = ((1,2,3),(4,5,6))
    
    #遍历
    for elem in t1:
        for value in elem:
            print(value, end = ' ')
        print('')

1.6 序列的解包

#元组解包
    #变量个数和元素个数一致
    t1 = (11,20)
    a, b = t1
    print(a,b)  #11 20
    
    a, b = 2, 3  
    a,b,c = (1,2,3) 
    
    #变量个数和元素个数不同
    #a=10,c=50,_获取(20,30)
    a, *_, c = 10,20,30,50
    print(a,c,_) #10 50 [20, 30]
    
    #a=10,b=20,c获得剩余的元素
    a, b, *c = 10,20,30,50
    print(a,b,c) #10 20 [30, 50]
    
    #*解包
    print(*(1,2,3))  # 1 2 3
    
    #range解包
    a, b, c = range(3)  #a=0,b=1,c=2
    
    #列表解包
    a,*_b,c = [1,2,3,4,5]
    print(a,_b,c) # 1 [2, 3, 4] 5
    
    #字符串解包
    a,b,c = '123'
    print(a,b,c) # a='1',b='2',c='3'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值