数据容器——元组(tuple)

1、元组与列表的不同点

列表是可以修改的。如果想要传递的信息,不被算改,列表就不合适了。

元组同列表一样,都是可以封装多个、不同类型的元素在内。
但最大的不同点在于:
元组一旦定义完成,就不可修改
所以,当我们需要在程序内封装数据,又不希望封装的数据被算改,那么元组就非常合适了。

2、定义元组

定义元组是使用小括号

定义元组:变量名称 = (元素1, 元素2, ……)

定义空元组:变量名称 =()      或     变量名称= tuple()

元组里只有一个数据:变量名称 = (元素1,)#这个数据的后面要加逗号

定义多维元组:变量名称 = ((1, 2, 3),  (4, 5, 6)) 

数据容器可变性语法表示使用场景迭代和索引 性能
列表(list)可变(可以添加、删除或修改其中的元素)使用方括号 [] 来表示,元素之间使用逗号分隔。
例如:my_list = [1, 2, 3]
通常,列表用于存储可变的数据集合,例如保存多个相同类型的数据。都支持迭代和索引操作。
例如my_list[0] 
​​​​​​​列表还提供了一些方便的方法,如append() 和pop()来添加和删除元素。
由于元组是不可变的,相比之下,列表在执行添加、删除和修改等操作时需要更多的时间和内存。因此,如果数据不需要更改,使用元组可能会更高效。
元组(tuple)不可变(一旦创建就不能改变其内容)使用圆括号 () 来表示,元素之间同样使用逗号分隔。
例如:my_tuple = (1, 2, 3)
元组则通常用于存储不可变的数据集合,例如表示一个点的坐标。都支持迭代和索引操作。
例如:my_tuple[1]

3、元组的操作

方法作用
index()查找某个数据,如果数据存在返回对应的下标,否别报错
count()统计某个数据在当前元组出现的次数
len(元组名)统计元组内的元素个数

还可以遍历元组


t1 = (111, "Hello", "World", "World", "Python")
# index查找
index1 = t1.index("Hello")
index2 = t1.index("World")
print(f"元素Hello在元组中的位置是: {index1}")   # 输出:元素Hello在元组中的位置是: 1
print(f"元素World在元组中的位置是: {index2}")     # 输出:元素World在元组中的位置是: 2(所以只会输出第一个遇到的下标)# count统计方法
num = t1.count("World")
print(f"元组t1中一共有{num}个World")   # 输出:元组t1中一共有2个World# len函数统计元组元素数据
num = len(t1)
print(f"t1的长度是{num}")   # 输出:t1的长度是5# 元组的遍历:while
print("元组的元素有", end=":")
index = 0
while index < len(t1):print(t1[index], end=",")   # 输出结果:元组的元素有:111,Hello,World,World,Python,index += 1print()
# 元组的遍历:for
print("元组的元素有", end=":")
for element in t1:print(element, end=",")   # 输出结果:元组的元素有:111,Hello,World,World,Python,

其他的都不可以使用,因为元组不可修改。

例如:在上述基础上,修改元组的元素值时,会报错:

t1[0] = 222  
# 报错:TypeError: 'tuple' object does not support item assignment

4、元组(tuple)内嵌套列表(list)

可以修改元组内的list的内容(修改元素、增加、刷除、反转等)

t2 = (1, 2, ['Hello', 'World'])
t2[2][1] = 'Python'
print(t2)   # 输出:(1, 2, ['Hello', 'Python'])

4、练习案例

题目要求:定义一个元组,内容是:('周杰轮',11,[football,'music']),记录的是一个学生的信息(姓名、年龄、爱好),请通过元组的功能(方法),对其进行:
1.查询其年龄所在的下标位置。
2.查询学生的姓名。
3.副除学生爱好中的football
4.增加爱好:coding到爱好list内

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

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

相关文章

2023河南萌新联赛第(五)场:郑州轻工业大学 --01分数规划

题目描述 给定一个字符串 s&#xff0c;仅含 0, 1, ? 三种字符&#xff0c;你必须将所有 ? 替换为 1 或 0 。 定义 s 的美好值为将所有?进行替换后&#xff0c;s的最长连续 1 或 0 的子串的长度。请你进行所有替换后&#xff0c;使得字符串 s 的美好值最大&#xff0c;请输…

(二)结构型模式:1、适配器模式(Adapter Pattern)(C++实现示例)

目录 1、适配器模式&#xff08;Adapter Pattern&#xff09;含义 2、适配器模式应用场景 3、适配器模式的UML图学习 4、C实现适配器模式的示例 1、适配器模式&#xff08;Adapter Pattern&#xff09;含义 将一个接口转换为客户端所期待的接口&#xff0c;从而使两个接口…

CompletableFuture

java8中新引入了批量线程处理类CompletableFuture CompletableFuture.allOf是与的关系, 每个都要执行完 CompletableFuture.anyOf是或的关系, 其中一个执行完 以下示例代码: CompletableFuture.allOf(CompletableFuture.runAsync(() -> {Thread.currentThread().setName(&q…

js常用的方法函数

JavaScript 中有许多常用的内置方法和函数&#xff0c;用于处理字符串、数组、对象、日期等不同类型的数据。以下是一些常见的 JavaScript 方法和函数&#xff1a; 字符串操作&#xff1a; str.length: 返回字符串的长度。 str.charAt(index): 返回指定位置的字符。 str.indexO…

Mac安装nvm教程及使用

nvm 是 node 版本管理器&#xff0c;也就是说一个 nvm 可以管理多个 node 版本&#xff08;包含 npm 与 npx&#xff09;&#xff0c;可以方便快捷的安装、切换 不同版本的 node。 1、直接通过brew安装 执行命令&#xff1a;brew install nvm PS&#xff1a; 如果没有安装br…

Golang - 生成和读取toml文件

代码示例&#xff1a; package mainimport ("fmt""github.com/pelletier/go-toml""os""path" )func CreateToml(tomlPath string) {tree, err : toml.Load("")if err ! nil {fmt.Println("Error while creating empt…

Oracle database 静默安装 oracle 11g 一键安装

基于oracle安装包中应答文件实现一键安装 支持环境&#xff1a; Linux &#xff1a;centerOS 7 oracle &#xff1a;11.2.0 Oracle应答文件 runInstaller应答文件 /database/response/db_install.rsp netca应答文件 /database/response/netca.rsp dbca应答文件 /database/re…

小程序保留2位小数据,不四舍五入

方法1&#xff1a; parseInt toFixed /* * 保留2位小数&#xff0c;不四舍五入 * 5.992550 >5.99 , 2 > 2.00 * */ const toFixed2Decimal (value) > {return (parseInt(value*100)/100).toFixed(2) } console.log(587.67*100) console.log(toFixed2Decimal(587.67…

python中的运算符号含义,python基本运算符的操作

本篇文章给大家谈谈python的运算符号有哪些类型&#xff0c;以及python各运算符号的功能说明&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1.算数运算符&#xff08;最常见的&#xff09; 标准算数运算符&#xff08;加减乘除&#xff09; 取余运算…

(provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)

问题描述 NET6 Code First 使用Update-database时 报错&#xff1a;A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。) 解决方…

UML-状态图

目录 状态图 状态图的图符 状态机 状态 ​转换 电话机状态图 活动图和状态图区别&#xff1a; 状态图 状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为&#xff0c;显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态…

Jmeter设置中文的两种方式,建议使用第二种

方案一 进入jmeter图像化界面&#xff0c;选择Options下的Choose Language&#xff0c;再选择Chinese(Simplified)。这个就是选择语言为简体中文&#xff08;缺陷&#xff1a;这个只是在本次使用时为中文&#xff0c;下次打开默认还是英文的&#xff09; 方案二&#xff08;…

Mybatis框架

Mybatis框架 Mybatis的含义&#xff1a;Mybatis框架是一个持久层框架&#xff0c;几乎解决了jdbc代码在手动设置参数和对结果集的手动获取问题&#xff0c;原本是apache公司的开源项目&#xff0c;最后转给Google公司。Mybatis会将参数封装在一个对象中传递给数据库&am…

数学建模(二)线性规划

课程推荐&#xff1a;6 线性规划模型基本原理与编程实现_哔哩哔哩_bilibili 目录 一、线性规划的实例与定义 1.1 线性规划的实例 1.2 线性规划的定义 1.3 最优解 1.4 线性规划的Mathlab标准形式 1.5 使用linprog函数 二、线性规划模型建模实战与代码 2.1 问题提出 2.2…

机器学习深度学习——seq2seq实现机器翻译(详细实现与原理推导)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——seq2seq实现机器翻译&#xff08;数据集处理&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习&…

机器学习编译系列

机器学习编译MLC 1. 引言2. 机器学习编译--概述2.1 什么是机器学习编译 1. 引言 陈天奇目前任教于CMU&#xff0c;研究方向为机器学习系统。他是TVM、MXNET、XGBoost的主要作者。2022年夏天&#xff0c;陈天奇在B站开设了《机器学习编译》的课程。   《机器学习编译》课程共分…

立即开始使用 3D 图像

一、说明 这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是&#xff0c;我们讨论了Kaggle中可用的MNIST数据集的3D版本&#xff0c;以及如何使用Keras训练模型识别3D数字。 3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互&#xff0c;因此使用3…

了解 Langchain️是个啥?:第 1 部分

一、说明 在日常生活中&#xff0c;我们主要致力于构建端到端的应用程序。我们可以使用许多自动 ML 平台和 CI/CD 管道来自动化 ml 管道。我们还有像Roboflow和Andrew N.G.的登陆AI这样的工具来自动化或创建端到端的计算机视觉应用程序。 如果我们想在OpenAI或拥抱脸的帮助下创…

Day 26 C++ list容器(链表)

文章目录 list基本概念定义结构双向迭代器优点缺点List和vector区别存储结构内存管理迭代器稳定性随机访问效率 list构造函数——创建list容器函数原型示例 list 赋值和交换函数原型 list 大小操作函数原型示例 list 插入和删除函数原型示例 list 数据存取函数原型注意示例 lis…

论文详解 ——《SNR-Aware Low-light Image Enhancement》

文章目录 Abstract1.Introduction2. Related Work3. Our Method3.1 Long- and Short-range Branches3.2 SNR-based Spatially-varying Feature Fusion3.3 SNR-guided Attention in Transformer3.4 Loss Function 4. Experiments4.1. Datasets and Implementation Details4.2 Co…