元组(tuple)

目录

一、基本介绍

1、元组(tuple)可以存放多个不同数据类型,元组是不可变序列

2、元组也是一种数据类型

二、元组的定义

1、元组的定义

2、代码说明

三、元组的使用

1、元组使用语法

2、举例说明

3、代码演示,访问/获取第三个数据/元素

四、元组的遍历

1、什么是元组的遍历

2、实例:使用while循环,对元组进行遍历输出

3、实例:使用for循环,对元组进行遍历输出

五、注意事项和使用细节

六、元组常用操作 

1、元组常用操作 

2、演示元组常用操作

七、练习


文档:内置类型 — Python 3.12.4 文档

一、基本介绍

1、元组(tuple)可以存放多个不同数据类型,元组是不可变序列

tuple 不可变是指当你创建了tuple 的时候,它就不能改变了,也就是说它也没有 append(),insert()这样的方法,但它也有获取某个索引值的方法,但是不能重新赋值

2、元组也是一种数据类型

二、元组的定义

1、元组的定义

创建一个元组,只要把逗号隔开的不同数据项,使用圆括号括起来即可

tuple_a=(100,200,300,400,500)

tuple_b=('red','green','blue','yellow','white','black')

2、代码说明

# 元组的定义
"""1、定义了一个元组,名字叫tuple_a,值为(100,200,300,400,500)2、100就是其中的一个数据/元素
"""
tuple_a = (100, 200, 300, 400, 500)
# 输出元组数据
print(f"元组的内容是{tuple_a} 类型是:{type(tuple_a)}")

三、元组的使用

1、元组使用语法

元组名[索引]

2、举例说明

tuple_c=('red','green','blue','yellow','white','black')

比如:你要使用tuple_c元组的第3个值"blue",则通过tuple_c[2]就可以访问到

提示:索引是从0开始计算的

3、代码演示,访问/获取第三个数据/元素

# 元组的使用语法
tuple_c = ('red', 'green', 'blue', 'yellow', 'white', 'black')# 访问/获取第三个数据/元素
print(f"第三个元素是:",tuple_c[2])  # blue

四、元组的遍历

1、什么是元组的遍历

简单的说,就是将元组的每个元素依次取出,进行处理的操作,就是遍历/迭代
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')

2、实例:使用while循环,对元组进行遍历输出

# while 遍历元组
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')# index=0 表示从第一个元素进行遍历
index = 0
while index<len(tuple_color):print(f"第{index+1}个元素的值:{tuple_color[index]}")index+=1

3、实例:使用for循环,对元组进行遍历输出

# for 遍历元组
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')for ele in tuple_color:print(f"元素是:{ele}")

五、注意事项和使用细节

1、如果我们需要一个空元组,就可以通过(),或者tuple()方式来定义

# 1、如果我们需要一个空元组,就可以通过(),或者tuple()方式来定义
tuple_a=()
tuple_b=tuple()
print(f"tuple_a 内容是{tuple_a} 类型是{type(tuple_a)}")
print(f"tuple_b 内容是{tuple_b} 类型是{type(tuple_b)}")

2、元组的元素可以有多个,而且数据类型没有限制(甚至可以嵌套元组),允许有重复元素,并且是有序的

tuple_c = (100, "jack", 4.5, True, "jack")
print(tuple_c)# 嵌套元组
tuple_d = (100, "tom", ("天龙八部", "笑傲江湖", 300))
print(tuple_d)

3、元组的索引/下标是从0开始的

4、元组索引必须在指定范围内使用,否则报:IndexError: tuple index out of range

# 元组索引必须在指定范围内使用
# 有效下标为0-2
tuple_d = (1, 2.1, "jack")
# 索引越界
# print(tuple_d[3])

5、元素是不可变序列(要注意其使用特点),看下面代码

# 元组的元素是不能修改的,会报错
tuple_e = (1, 2.1, "jack")
# tuple_e[2]="python"  # 不能修改

6、可以修改元组内 list的内容(包括 修改、增加、删除等)

tuple_f = (1, 2.1, "hen", ["jack", "tom", "mary"])# 访问元组中 list及其元素
print(tuple_f[3])  # ['jack', 'tom', 'mary']
print(tuple_f[3][0])  # jack# 修改
tuple_f[3][0]="king"
print(f"tuple_f 内容是:{tuple_f}")  # (1, 2.1, 'hen', ['king', 'tom', 'mary'])# 删除
del tuple_f[3][0]
print(f"tuple_f 内容是:{tuple_f}")  # (1, 2.1, 'hen', ['tom', 'mary'])# 增加
tuple_f[3].append("smith")
print(f"tuple_f 内容是:{tuple_f}")  # (1, 2.1, 'hen', ['tom', 'mary', 'smith'])

7、索引也可以从尾部开始,最后一个元素的索引为-1,往前一位为-2,以此类推

tuple_g = (1, 2.1, "hen", ["jack", "tom", "mary"])
print(tuple_g[-2])  # hen

8、定义只有一个元素的元组,需要带上逗号,否则就不是元组类型

tuple_h=(100,)
print(f"tuple_h 的类型是{type(tuple_h)}")

9、说明:既然有了列表,Python设计者为什么还提供元组这样的数据类型呢?

六、元组常用操作 

1、元组常用操作 

1)文档:内置类型 — Python 3.12.4 文档

2)常用操作一览 

2、演示元组常用操作

# 演示元组常用操作
tuple_a = (100, 200, 300, 400, 600, 200)
print(f"tuple_a 元组元素个数:", len(tuple_a))  # 6
print(f"tuple_a 元组最大元素:", max(tuple_a))  # 600
print(f"tuple_a 元组最小元素:", min(tuple_a))  # 100# tuple.count(obj):统计某元素在元组中出现的次数
print("100出现的次数是:", tuple_a.count(100))  # 1
print("200出现的次数是:", tuple_a.count(200))  # 2# tuple.index(obj):从元组中找到某个值第一次匹配项的索引位置
# 如果找不到,会报错:ValueError: tuple.index(x): x not in tuple
print("200第一次出现在元组的索引是:", tuple_a.index(200))  # 1print(300 in tuple_a)  # True

七、练习

tuple_movie = ('大话西游', '周星驰', 80, ['周星驰', '小甜甜'])# 查询票价对应索引
print(f"票价对应索引 {tuple_movie.index(80)}")  # 2# 遍历所有演员
for ele in tuple_movie[3]:print(f"演员的名字:{ele}")# 删除'小甜甜',增加演员'牛魔王'、'猪八戒'
del tuple_movie[3][1]
tuple_movie[3].append("牛魔王")
tuple_movie[3].append("猪八戒")
print("-------------------")
for ele in tuple_movie[3]:print(f"演员的名字:{ele}")

 

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

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

相关文章

SpringBoot集成Kaptcha验证码

Hi &#x1f44b;, Im shy 有人见尘埃&#xff0c;有人见星辰 1. 什么是Kaptcha验证码? Kaptcha是一个强大的开源Java验证码生成库,由Google开发。它能够生成高度可配置的图片验证码,主要用于防止自动化程序滥用web应用,提高应用的安全性。 2. Kaptcha的主要特性 Kaptch…

AMEsim液压阀伯德图绘制方法

之前也在液压圈论坛里面发过类似的贴子&#xff0c;具体可以看这个网址&#x1f6aa;&#x1f449;&#xff1a;如何得出说明书里面的伯德图曲线&#xff1f;&#xff0c;回复的人还是比较少&#xff0c;这个方法重要信息是参考百度文库这篇文章&#x1f6aa;&#x1f449;&…

相机的内参与外参

目录 一、相机的内参二、相机的外参 一、相机的内参 如下图所示是相机的针孔模型示意图&#xff1a; 光心O所处平面是相机坐标系(O&#xff0c;P)&#xff0c;像素平面所在坐标系为像素坐标系(O’&#xff0c;P’)。 焦距f&#xff1a;O到O’的距离 相机的内参表示的是相机坐标…

文本编辑三巨头(grep)

目录 正则表达式 元字符 grep 案例 我在编写脚本的时候发现&#xff0c;三个文本编辑的命令&#xff08;grep、sed、awk&#xff0c;被称为文本编辑三剑客&#xff0c;我习惯叫它三巨头&#xff09;用的还挺多的&#xff0c;说实话我一开始学的时候也有些懵&#xff0c;主要…

【实现100个unity特效之8】使用ShaderGraph实现2d贴图中指定部分局部发光效果

最终效果 寒冰法师 火焰法师 文章目录 最终效果寒冰法师火焰法师 素材一、功能分析实现方法基本思路Unity的Bloom后处理为什么关键部位白色&#xff1f;最终结果 二、 新建URP项目三、合并图片四、使用PS制作黑白图片方法一 手动涂鸦方法二 魔棒工具1. 拖入图片进PS&#xff0…

环信+亚马逊云科技服务:助力出海AI社交应用扬帆起航

随着大模型技术的飞速发展&#xff0c;AI智能体的社交体验得到了显著提升&#xff0c;AI社交类应用在全球范围内持续火热。尤其是年轻一代对新技术和新体验的热情&#xff0c;使得AI社交产品在海外市场迅速崛起。作为领先的即时通讯解决方案提供商&#xff0c;环信与亚马逊云科…

# Redis 入门到精通(九)-- 主从复制(2)

Redis 入门到精通&#xff08;九&#xff09;-- 主从复制&#xff08;2&#xff09; 一、redis 主从复制–数据同步阶段注意事项 1、数据同步阶段 master 说明 1&#xff09;如果 master 数据量巨大&#xff0c;数据同步阶段应避开流量高峰期&#xff0c;避免造成 master 阻…

掌握Rust:函数、闭包与迭代器的综合运用

掌握Rust&#xff1a;函数、闭包与迭代器的综合运用 引言&#xff1a;解锁 Rust 高效编程的钥匙函数定义与模式匹配&#xff1a;构建逻辑的基石高阶函数与闭包&#xff1a;代码复用的艺术迭代器与 for 循环&#xff1a;高效数据处理的引擎综合应用案例&#xff1a;构建一个简易…

JavaSE--基础语法--继承和多态(第三期)

一.继承 1.1我们为什么需要继承? 首先&#xff0c;Java中使用类对现实世界中实体来进行描述&#xff0c;类经过实例化之后的产物对象&#xff0c;则可以用来表示现实中的实体&#xff0c;但是 现实世界错综复杂&#xff0c;事物之间可能会存在一些关联&#xff0c;那在设计程…

Redis的应用场景及类型

目录 一、Redis的应用场景 1、限流 2、分布式锁 3、点赞 4、消息队列 二、Redis类型的命令及用法 1、String类型 2、Hash类型 3、List类型 4、Set类型 5、Zset类型 6、Redis工具类 Redis使用缓存的目的就是提升读写性能 实际业务场景下&#xff0c;我们就可以把 Mys…

Mysql数据库第四次作业

mysql> create table student(sno int primary key auto_increment,sname varchar(30) not null unique,Ssex varchar(2) check (Ssex男 or Ssex女) not null,Sage int not null,Sdept varchar(10) default计算机 not null); mysql> create table Course(Con int primar…

pytest的安装和介绍和 Exit Code 含义

pytest 准备工作&#xff08;在cmd里&#xff09;&#xff1a; 1安装 pip install -U pytest2验证安装 pytest --version # 会展示当前已安装版本3其他的 显示可用的内置函数参数 pytest --fixtures通过命令行查看帮助信息及配置文件选项 pytest --help一、pytets框架中的…

Air780EP-AT开发-HTTP应用指南

简介 关联文档和使用工具&#xff1a; AT固件获取AT指令手册 概述 4G模块支持HTTP和HTTPS协议&#xff0c; HTTP应用的基本流程如下&#xff1a; 1、激活PDP&#xff08;参考&#xff1a;http://oldask.openluat.com/article/937&#xff09;2、初始化HTTP服务3、设置HTTP会话…

从0到1使用Docker部署java项目详解

Docker部署Java项目相比传统部署方式&#xff0c;在环境一致性、配置管理、可扩展性和安全性等方面具有显著优势。然而&#xff0c;它也带来了学习成本、资源消耗和复杂度增加等挑战。 云服务器 白嫖阿里云服务 通过免费试用方式获取自己的阿里云服务器。当然&#xff0c;如…

ElasticSearch(四)— 数据检索与查询

一、基本查询语法 所有的 REST 搜索请求使用_search 接口&#xff0c;既可以是 GET 请求&#xff0c;也可以是 POST请求&#xff0c;也可以通过在搜索 URL 中指定索引来限制范围。 _search 接口有两种请求方法&#xff0c;一种是基于 URI 的请求方式&#xff0c;另一种是基于…

S71200 - 笔记

1 S71200 0 ProfiNet - 2 PLC编程 01.如何零基础快速上手S7-1200_哔哩哔哩_bilibili 西门子S7-1200PLC编程设计学习视频&#xff0c;从入门开始讲解_哔哩哔哩_bilibili

python:本机摄像头目标检测实时推理(使用YOLOv8n模型)

本文将介绍如何使用本机摄像头进行目标检测实时推理的python代码。 文章目录 一、下载YOLO权重文件二、环境配置三、完整代码 一、下载YOLO权重文件 https://github.com/ultralytics/ultralytics?tabreadme-ov-file 拉到网页最下面&#xff0c;选择适合的模型&#xff0c;下…

linux禁用root

linux禁用root 1. 禁止普通用户切换到root1.1 sudo -i和sudo -s的区别1.2 sudo -i和直接登录root账号的区别1.3 禁止sudo -i切换root1.4 禁止su - root切换root 2. 禁止root远程登录2.1 ssh禁止root登录2.2 禁止远程桌面登录 本文主要介绍&#xff1a; 如何禁止普通用户切换到r…

python-docx 如何将列表中的值提取到段落中的run以及保存为多个文档?

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

如何定位Milvus性能瓶颈并优化

假设您拥有一台强大的计算机系统或一个应用&#xff0c;用于快速执行各种任务。但是&#xff0c;系统中有一个组件的速度跟不上其他部分&#xff0c;这个性能不佳的组件拉低了系统的整体性能&#xff0c;成为了整个系统的瓶颈。在软件领域中&#xff0c;瓶颈是指整个路径中吞吐…