当前位置: 首页 > news >正文

Tuple 元组

文章目录

  • 一、什么是元组 ?
  • 二、元组的具体操作
    • 2.1 创建元组
      • 2.1.1 tuple() 创建元组函数和 list() 创建列表函数总结
    • 2.2 元组的元素访问操作
    • 2.3 元组的元素计数操作
    • 2.4 zip 对象


一、什么是元组 ?

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

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

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

        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)) # 将对象存储进元组中,并将对象中的元素迭代入列表当中
    
    • 运行结果:
      在这里插入图片描述

相关文章:

  • MAX30102驱动
  • 【ajax基础03】常用ajax请求方法和数据提交以及axios错误处理
  • Java23种设计模式(二)
  • MySQL系列-语法说明以及基本操作(二)
  • 力扣爆刷第153天之TOP100五连刷(相交、翻转、排序链表、螺旋矩阵、锯齿二叉树)
  • IPython 使用技巧整理
  • Linux系统之mtr命令的基本使用
  • 超多细节—app图标拖动排序实现详解
  • 简析:分账系统
  • 测试testing06182
  • 暑期计划打卡清单表怎么写 暑期待办计划清单
  • 干G货,性能测试基本方法和原则,
  • shell命令(进程管理和用户管理)
  • 【多线程】线程状态
  • redis击穿问题使用锁实现方案
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [Vue CLI 3] 配置解析之 css.extract
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Android 控件背景颜色处理
  • C# 免费离线人脸识别 2.0 Demo
  • CSS 专业技巧
  • mysql 数据库四种事务隔离级别
  • Python socket服务器端、客户端传送信息
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 百度地图API标注+时间轴组件
  • 服务器之间,相同帐号,实现免密钥登录
  • 给第三方使用接口的 URL 签名实现
  • 基于web的全景—— Pannellum小试
  • 删除表内多余的重复数据
  • 微信公众号开发小记——5.python微信红包
  • 我的面试准备过程--容器(更新中)
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 从如何停掉 Promise 链说起
  • 交换综合实验一
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​第20课 在Android Native开发中加入新的C++类
  • ​什么是bug?bug的源头在哪里?
  • # SpringBoot 如何让指定的Bean先加载
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (3)llvm ir转换过程
  • (ibm)Java 语言的 XPath API
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计大学生兼职系统
  • (转)ABI是什么
  • (转)Mysql的优化设置