Tuple 元组


一、什么是元组 ?

  •         列表属于可变序列,可以任意修改列表中的元素。

            元组的访问和处理速度比列表快。

            元组属于不可变序列,不能修改元组中的元素,因此,元组没有增加元素,修改元素,删除元素相关的方法。
    • 因此,只需要学习元组的创建和删除,元组中元素的访问和计数即可,元组支持如下操作

        1. 索引访问
        1. 切片操作
        1. 链接操作
        1. 成员关系操作
        1. 比较运算符
        1. 计数:元组长度len(),最大值max(),最小值min(),求和sum(),等

注意:元组的元素不能修改
  • 元组不可向列表一样通过下标去修改列表中的数据,如果直接修改会报出异常
    • 	a = (20,30,9,8,3)
      	a = [0]
      	a[3]=33 #异常
      

元组的元素访问和列表一样,如果是单个元素是具体的数据,如果是范围访问返回的仍然是元组对象
  • 	a=(20,10,30,9,8)
    	print(a[1])
    	print(type(a[1]))
    	print(a[1:3])
    	print(type(a[1:3]))
    	print(a[1:3])
    	print(a[:4])
    	print(a[::-1])
    
    • 运行结果:
      在这里插入图片描述


二、元组的具体操作


2.1 创建元组

  • 通过 “()” 创建元组,(小括号可以省略)

    • 		a=(10,20,30) 
      		# 或者 
      		a=10,20,30
      
      • 注意:如果元组中只有一个元素,则必须后面加逗号,这是因为解释器会把(1)解释为整数1,而 (1,)解释为元组

      • 	a = (1,) # 或者  a =1,
        	# 但是需要注意的是
        	a = (1) #这种写法并不是元组  如果元组里面只有一个元素要在最后面加,
        	print(type(a))
        

  • 通过 “tuple()” 函数创建(tuple(可迭代的对象)

    • 	b=tuple() #创建一个空元组对象
      	print(b)
      	b=tuple("abc")  # 创建一个元组对象,并根据传入的字符串迭代成元组
      	print(b)
      	b=tuple(range(3)) # 创建一个元组对象,并传入下标从0到3 在元组中迭代三个数字
      	print(b)
      	b=tuple([2,3,4]) # 创建一个元组对象,并传入列表在元组中把内容迭代出来
      	print(b)
      
      • 运行结果
        在这里插入图片描述

2.1.1 tuple() 创建元组函数和 list() 创建列表函数总结

  •         tuple() 可以接收列表,字符串,其他序列类型,迭代器生成元组
  •         list() 可以接收元组,字符串,其他序列类型,迭代器等生成列表


2.2 元组的元素访问操作

index(): 获取元素的下标
  • 	a=(20,10,30,9,8)
    	print(a.index(10))
    
    • 运行结果:1

count(): 获取元素在元组中出现的次数
  • 	a=(20,10,30,9,8,10)
    	print(a.count(10))
    
    • 运行结果:2

sorted(): 将元组中的数据进行排序,输出成一个新的列表对象
  • 列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法,如果对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象

  • 	a=(20,10,30,9,8)
    	print(sorted(a))
    
    • 运行结果:[8, 9, 10, 20, 30]

+ : 元组的拼接,元组可以直接用 “ + ” 拼接,将两个元组中的数据拼接成一个元组
  • 		a = (1, 20)
    		b = (30, 20)
    		print(a+b)
    
    • 运行结果:(1, 20, 30, 20)


2.3 元组的元素计数操作

len():获取元组的长度
max(): 获取元组中最大值
min(): 获取元组中最小值
sum ():获取元组中全部元素相加的总和
  • 代码示例

    • 	a=(20,10,30,9,8)
      	# 因为获取出的结果为 int 类型,需要使用类型转换打印输出,使结果更加直观
      	print("获取元组长度:" + str(len(a)))
      	print("获取元组最大元素" + str(max(a)))
      	print("获取元组最小元素:" + str(min(a)))
      	print("计算元组中全部元素的总和:" + str(sum(a)))
      
      • 运行结果:**(1, 20, 30, 20)**


2.4 zip 对象

zip(obj obj):将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
  •  	a = [1,2,3]
     	b = ['a','b','c']
     	c = [1.03,2.65,5.89]
     	
     	d = zip(a,b,c) # 将列表存储进 zip 对象当中
     	e = zip(a,b,c)
     	
     	print(type(d)) # 打印当前对象类型
     	print(tuple(d)) # 将对象存储进元组中,并将对象中的元素迭代入元组当中
     	print(list(e)) # 将对象存储进元组中,并将对象中的元素迭代入列表当中
    
    • 运行结果:
      在这里插入图片描述
  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值