Python数据容器之(元组)

news2025/1/12 0:58:01

我们前面所了解的列表是可以修改的,但如果想要传递的信息,不被篡改,列表就不合适了。

元组同列表一样,都是可以封装多个、不同类型的元素在内。

但最大的不同点在于:

元组一旦定义完成,就不可修改

所以,当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么使用元组就非常合适了

元组的定义

定义语法:

 

嵌套元组的定义

 

 注意:元组只有一个数据,所以这个数据后面要添加逗号 

元组的相关操作

编号

方法

作用

1

index()

查找某个数据,如果数据存在返回对应的下标,否则报错

2

count()

统计某个数据在当前元组出现的次数

3

len(元组)

统计元组内的元素个数

# 统计单个元素个数
t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
element = t5.count("Eternallei")
print(f"元组中'Eternallei'的个数是:{element}")

# 查找
t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
index = t5.index("HelloWorld")
print(f"元组中'HelloWorld'的下标索引是:{index}")

# 统计所有元素个数
t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
sum = len(t5)
print(f"元组中元素有:{sum}个")

元组由于不可修改的特性,所以其操作方法也非常少。

不可以修改元组的内容,否则会直接报错:

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

不可以替换list为其它list或其它类型:

 

元组的遍历

同列表一样,元组也可以被遍历。可以使用while循环和for循环遍历它

while遍历:

for遍历:

运行结果:

 经过上述对元组的了解,可以总结出列表有如下特点:

可以容纳多个数据

可以容纳不同类型的数据(混装)

数据是有序存储的(下标索引)

允许重复数据存在

不可以修改(增加或删除元素等)

支持for循环

多数特性和list一致,不同点在于不可修改的特性。

元组练习案例

接下来做一个案例增加我们对元组的使用:

定义一个元组,内容是:(记录的是一个人物的信息(姓名、年龄、爱好)

通过元组的功能(方法),对其进行:

1. 查询其年龄所在的下标位置
2. 查询人物的姓名
3. 删除人物爱好中的basket ball增加爱好football到爱好 list

代码实现:

# 定义元组mation
mation = ('Eternallei', 22, 'basketball', 'music')
# 查询年龄所在的下标位置

index = mation.index(22)
print(f"年龄所在下标索引是:{index}")

# 查询姓名
name = mation[0]
print(f"姓名:{name}")

# 删除爱好basketball,添加爱好football到lis内

information = list(mation)   # 将元组转换为列表
del information[2]
print(f"删除后的效果:{information}")

information.insert(2,'football')
print(f"添加后的效果:{information}")

运行效果:

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

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

相关文章

Windows 11 设置 wsl-ubuntu 使用桥接网络

Windows 11 设置 wsl-ubuntu 使用桥接网络 0. 背景1. Windows 11 下启用 Hyper-V2. 使用 Hyper-V 虚拟交换机管理器创建虚拟网络3. 创建 .wslconfig 文件4. 配置 wsl.conf 文件5. 配置 wsl-network.conf 文件6. 创建 00-wsl2.yaml7. 安装 net-tools 和 openssh-server 0. 背景 …

SSD(Single Shot MultiBox Detector)的复现

SSD 背景 这是一种 single stage 的检测模型,相比于R-CNN系列模型上要简单许多。其精度可以与Faster R-CNN相匹敌,而速度达到了惊人的59FPS,速度上完爆 Fster R-CNN。 速度快的根本原因在于移除了 region proposals 步骤以及后续的像素采样或…

LeetCode(15)分发糖果【数组/字符串】【困难】

目录 1.题目2.答案3.提交结果截图 链接: 135. 分发糖果 1.题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获…

【微服务专题】Spring启动过程源码解析

目录 前言阅读对象阅读导航前置知识笔记正文一、SpringBoot启动过程源码解析1.1 SpringBoot启动过程源码流程图1.2 流程解析补充1.2.1 SpringApplicationRunListeners:SpringBoot运行过程监听器 学习总结感谢 前言 这部分只是个人的自结,方便后面回来看…

RK3588平台开发系列讲解(摄像头篇)USB摄像头驱动分析

🚀返回专栏总目录 文章目录 一. USB摄像头基本知识1.1 内部逻辑结构1.2 描述符实例解析二. UVC驱动框架2.1、设备枚举过程2.2、数据传输过程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 USB摄像头驱动位于 drivers\media\usb\uvc\uvc_driver.c ,我们本篇重点看下…

正版软件|Soundop 专业音频编辑器,实现无缝的音频制作工作流程

关于Soundop Soundop 音频编辑器 直观而专业的音频编辑软件,用于录制、编辑、混合和掌握音频内容。 Soundop 是一款适用于 Windows 的专业音频编辑器,可在具有高级功能的直观灵活的工作区中录制、编辑和掌握音频并混音轨道。音频文件编辑器支持波形和频谱…

一道 python 数据分析的题目

python 数据分析的题目。 做题方法:使用 pandas 读取数据,然后分析。 知识点:pandas,正则表达式,py知识。 过程:不断使用 GPT,遇到有问题的地方自己分析,把分析的结果告诉 GPT&am…

PPT转PDF转换器:便捷的批量PPT转PDF转换软件

在数字化时代,文档转换已成为日常工作不可或缺的一环。特别是对于那些需要转发或发布演示文稿的人来说,如果希望共享给他人的PPT文件在演示过程中不被修改,那么将PPT文件转换为PDF格式已经成为一个常见的选择。大多数PDF阅读器程序都支持全屏…

总结1057

考研倒计38天 极限冲刺day1 今日共计学习13h33m,为了能走出备考的低谷阶段,来一场与自我的较量。在尽可能保证效率的情况下,玩命干。考研这件事,从来不是因为看到了希望才去努力,而是玩命努力后才看到希望。

USB复合设备构建CDC+HID鼠标键盘套装

最近需要做一个小工具,要用到USB CDCHID设备。又重新研究了一下USB协议和STM32的USB驱动库,也踩了不少坑,因此把代码修改过程记录一下。 开发环境: ST-LINK v2 STM32H743开发板 PC windows 11 cubeMX v6.9.2 cubeIDE v1.13.2 cub…

BIO、NIO、AIO三者的区别及其应用场景(结合生活例子,简单易懂)

再解释三者之前我们需要先了解几个概念: 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。同步、异步:是相较于IO来说的,同步需要等待IO操作完…

HTTP1.1协议详解

目录 协议介绍协议的特点存在的问题协议优化方案与HTTP 1.0协议的区别 协议介绍 HTTP 1.1是一种基于文本的互联网实体信息交互协议,是Web上任何数据交换和客户端-服务器交互的基础。它允许获取各种类型的资源,如HTML文档,并支持在互联网上交…

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…

零小时零信任:数据标记如何加速实施

现在是零信任的零小时。 虽然这个概念已经存在多年,但现在联邦政府实施它的时间已经紧迫。 拜登政府备忘录被誉为以战斗速度安全交付关键任务数据的解决方案,要求联邦机构在 2024 财年年底前实现具体的零信任安全目标。 此外,国防部正在努…

从0开始学习JavaScript--JavaScript DOM操作与事件处理

在前端开发中,DOM(文档对象模型)是一个至关重要的概念,它为JavaScript提供了一种与HTML和XML文档交互的方法。本文将深入探讨DOM的概念与作用,以及JavaScript与DOM之间的密切关系。 DOM的概念与作用 DOM是什么&#…

【接口自动化测试】Postman(一) 介绍和安装

一.Postman介绍 Postman是一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。 主要特点 1. 简单易用的图形用户界面 2. 可以保存接口请求的历史记录 3. 使用测试集Collections可以更…

编程的简单实例,编程零基础入门教程,中文编程开发语言工具下载

编程的简单实例,编程零基础入门教程,中文编程开发语言工具下载 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件&…

websocket学习笔记【springboot+websocket聊天室demo】

文章目录 WebSocket是什么?为什么需要WebSocket?WebSocket和Http连接的区别WebSocket的工作原理基本交互过程: Java中的WebSocket支持WebSocket的优势springboot websocket themlef 一个聊天室demopom.xmlWebSocketConfigChatControllerWebController…

__builtin_expect(x,0)

As opposed to the C code, above we can see bar case precedes foo case. Since foo case is unlikely, and instructions of bar are pushed to the pipeline, thrashing the pipeline is unlikely. This is a good exploitation of a modern CPU

RK3588平台开发系列讲解(项目篇)嵌入式AI的学习步骤

文章目录 一、嵌入式AI的学习步骤1.1、入门Linux1.2、入门AI 二、瑞芯微嵌入式AI2.1、瑞芯微的嵌入式AI关键词2.2、AI模型部署流程 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将给大家介绍什么是嵌入式AI。 一、嵌入…