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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端菜鸡流水账日记 -- pnpm的学习

哈咯哇大家,我又来了,最近稍微悠闲一些,所以就趁着这个机会学习一些新的知识,今天就是碰巧遇到了pnm,这个可以看作是npm的升级版本,比npm要快,用起来也更得劲更迅速 官网地址:https…

易灸灸的微商模式,新零售全案运营,裂变营销与代理模式

易灸灸的独特之处在于其受众面广,男女老少均可使用,且作为短时间消耗品,具有高复购率的特点。这使得裂变营销模式成为易灸灸的最佳选择。裂变营销通过用户的分享和推荐,快速提高品牌的知名度,降低营销成本,…

SJ704安全帽电绝缘性能测试仪

一、仪器用途 用于测试安全帽对电的绝缘性能。 二、主要技术指标 1、电流表示值误差1% 2、电压表示值误差1% 3、计时器示值误差1% 4、探头直径4mm,顶端为半球形 5、能在1min内电压增加至1200V25V,保持15s。最大测试电压5KV。 三、仪器特征 1、配…

Linux系统学习——指令二

Linux系统学习——指令二 sed 指令perl 指令rpm 指令rz 和 sz 指令查看文件大小及压缩文件指令使用tar命令:使用zip命令:注意事项: 解压文件指令 sed 指令 使用sed命令:sed -i s/旧内容/新内容/g 文件名,这将会在文件…

2024.06.02 校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、自动驾驶一周资讯 - 特斯拉计划在中国推出FSD;续航2100km 比亚迪发布第五代DM技术;佑驾创新向港交所提交上市申请 自动驾驶一周资讯 - 特斯拉计划在中国推出FS…

FuTalk设计周刊-Vol.036

🔥AI漫谈 热点捕手 1、Stable Zero123:从单张图像生成高质量 3D 对象 Stable Zero123 可以生成物体的新颖视图,展示从各个角度对物体外观的 3D 理解,由于训练数据集和高程条件的改进,其质量比 Zero1-to-3 或 Zero123-XL 显著提高…

课时156:脚本发布_简单脚本_变量转化

2.1.2 变量转化 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 简介 问题:脚本里面的手写的固定的内容太多了,更改时候费劲所以通过变量的方式实现信息的固化简单实践 实践 查看脚本内容 #!/bin/bash # 功…

南通国际高中有哪些?南通惠立学校高中部校长见面日重磅来袭

惠灵顿(中国)自2011年成立以来,一直坚持深耕国际与双语教育,拥有丰厚的办学经验。依托于集团化的深厚经验南通惠立学校于2024-2025学年开设9-11年级,这所南通国际高中为高中学生搭建一个集卓越升学成果、强大师资、纯正…

Elasticsearch 认证模拟题 - 18

一、题目 为一个索引,按要求设置以下 dynamic Mapping 一切 text 类型的字段,类型全部映射成 keyword一切以 int_ 开头命名的字段,类型都设置成 integer 1.1 考点 字段的动态映射 1.2 答案 # 创建索引和索引模板 PUT my_index {"m…

Java课程设计:基于swing的学生信息管理系统

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 这款Java swing实现的学生信息管理系统和jsp版本的功能很相似,简单的实现了班级信息的增删改查,学生信息的增删改查,数据库采用的是mysql,jdk版本不限&…

BSP驱动教程-CAN/CANFD/CANopen知识点总结分享

学习知识点整理: CAN 总线的前世今生: https://www.armbbs.cn/forum.php?modviewthread&tid104480 wikibai百科CAN总线: https://en.wikipedia.org/wiki/CAN_bus 瑞萨CAN入门教程: https://www.armbbs.cn/forum.php?m…

5.Sentinel入门与使用

5.Sentinel入门与使用 1.什么是 Sentinel?Sentinel 主要有以下几个功能: 2.为什么需要 Sentinel?3.Sentinel 基本概念3.1 什么是流量控制?3.1.1 常见流量控制算法3.1.2 Sentinel 流量控制流控效果介绍如下: 3.2 什么是熔断?熔断策略 3.3 Sentinel 组成(资源和规…

Kafka基础架构与核心概念?有哪些应用场景?

Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者,性能特点主要是高吞吐,低时延。 Kafka主要设计…

永远不要做房间里“最聪明的人”(早懂早受益)

听好了,茶客,我要向你解释一些事情。 你的工作和职责是让客户认为他是房间里最聪明的人。 如果你完成了这项任务之后,还有多余的精力,应该用它来让你的高级合伙人显得像是房间里第二聪明的人。 只有履行了这两项义务之后&#xff…

JVM 垃圾回收器

一、垃圾回收器类型 如果说垃圾收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体 实现。下图展示了7种作用于不同分代的收集器,其中用于回收新生代的收集器 包括Serial、PraNew、Parallel Scavenge,回收老年代的收集器包括Seri…

解决Docker容器启动RabbitMQ报错:error pulling image configuration

解决Docker容器启动RabbitMQ报错:error pulling image configuration 问题原因是:Linux中系统时间跟真实时间相差太多导致。 解决办法就是让Linux的时间和网络时间同步就行了。 yum install -y ntpdate ntpdate 0.cn.pool.ntp.org

批量重命名文件利器:高效插入日期,轻松管理文件命名,提升文件整理效率!

在信息爆炸的时代,我们的电脑里总是堆积着大量的文件。如何高效、有序地管理这些文件,成为了很多人头疼的问题。今天,我要向大家介绍一款批量重命名文件的利器,它不仅能高效插入日期,还能轻松管理文件命名,…

Jira,一个强大灵活的项目和任务管理工具 Python 库

目录 01初识 Jira 为什么选择 Jira? 02安装与配置 安装 jira 库 配置 Jira 访问 获取 API token: 配置 Python 环境: 03基本操作 创建项目 创建任务 查询任务 更新任务 删除任务 04高级操作 处理子任务 搜索任务 添加附件 评论任务 05实战案例 自动化创建…

【译】SQLAlchemy文档:SQLAlchemy 统一教程

SQLAlchemy Unified Tutorial SQLAlchemy 是 Python SQL工具包和ORM,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。它提供了一整套企业级持久性模式,专为高效和高性能的数据库访问而设计。 SQLAlchemy呈现为两层API:Core和ORM&…

Qt/C++中的异步编程

Qt/C++中的异步编程 1 介绍2 含义2.1 QtConcurrent2.2 std::future2.3 Qml中的Promise3 使用场景4 代码示例5 注意事项5.1异常处理5.2 线程安全5.3 性能优化5.4 线程间通信5.5 避免死锁1 介绍 异步编程是现代应用程序开发中不可或缺的一部分。它允许程序在执行耗时任务时保持响…