Python基础-元组tuple的学习

news2025/2/10 16:13:02

在 Python 中,元组(tuple)是一种不可变的序列类型,允许存储不同类型的元素。元组非常类似于列表(list),但与列表不同的是,元组一旦创建,就不能修改其内容。

1 元组的创建

# 空元组
empty_tuple = ()
# 一个元素的元组(注意要加逗号)
single_element_tuple = (2,)
# 多个元素的元组
multiple_elements_tuple = (1, 2, 3)  #注意后面没有加逗号
#另外一种方法,创建元组:省略括号,直接用逗号分隔,返回的会自动添加括号
another_tuple = 4, 5, 6


#————————————————————
empty_tuple;single_element_tuple;
multiple_elements_tuple;another_tuple;

2 访问元组元素

元组支持索引,可以通过索引访问元组中的元素。索引从 0 开始。

my_tuple = (1, 2, 3, 4, 5);my_tuple
my_tuple[0]
my_tuple[2]

# 负索引
my_tuple[-1]
my_tuple[-2]

在这里插入图片描述

3 元组切片

元组支持切片操作,返回指定范围内的元素子元组

my_tuple = (10, 20, 30, 40, 50)

# 获取从索引 1 到索引 3 的元素(不包括索引 3)
print(my_tuple[1:3])  # 输出 (20, 30)

# 获取从索引 2 到结束的所有元素
print(my_tuple[2:])  # 输出 (30, 40, 50)

# 获取前 3 个元素
print(my_tuple[:3])  # 输出 (10, 20, 30)

# 获取最后两个元素
print(my_tuple[-2:])  # 输出 (40, 50)

在这里插入图片描述

4 元组的拼接和重复

元组可以通过加法(+)和乘法(*)进行拼接和重复。

tuple1 = (1, 2, 3)
tuple2 = (4, 5)
# 元组拼接
combined_tuple = tuple1 + tuple2
print(combined_tuple)  # 输出 (1, 2, 3, 4, 5)
# 元组重复
repeated_tuple = tuple1 * 2
print(repeated_tuple)  # 输出 (1, 2, 3, 1, 2, 3)

在这里插入图片描述

5 元组的元素查找

my_tuple = (1, 2, 3, 4, 5)

# 检查元素是否在元组中
print(3 in my_tuple)  # 输出 True
print(6 in my_tuple)  # 输出 False

# 检查元素是否不在元组中
print(6 not in my_tuple)  # 输出 True

6 元组的不可变性

元组一旦创建后,无法更改其内容。尝试修改元组的元素会导致错误。
在这里插入图片描述

7 元组的遍历

可以使用 for 循环来遍历元组中的元素。

my_tuple = (1, 2, 3, 4, 5)

# 遍历元组
for element in my_tuple:
    print(element)

在这里插入图片描述

8 元组的长度、最值

my_tuple = (1, 6, 3, 4, 5)
print(len(my_tuple))  # 输出 5
# 获取最大值和最小值
print(max(my_tuple))  # 输出 6
print(min(my_tuple))  # 输出 1

9 元组的嵌套

元组可以包含其他元组,形成嵌套元组。

nested_tuple = (1, 2, (90, 1001), (520, 1314))

# 访问嵌套元组
print(nested_tuple[2])  # 输出 (90, 1001)
print(nested_tuple[2][1])  # 输出 1001,访问元组里面元组的第2个元素

10 元组的拆包

my_tuple = (1, 20, 3)

# 拆包
a, b, c = my_tuple
print(a, b, c)  # 输出 1 20 3

在这里插入图片描述

11 元组的比较

tuple1 = (1, 2, 3)
tuple2 = (1, 2, 3)
tuple3 = (3, 2, 1)

# 比较元组
print(tuple1 == tuple2)  # 输出 True
print(tuple1 != tuple3)  # 输出 True
print(tuple1 < tuple3)   # 输出 True

12 元组与其他数据类型的转换

元组可以和其他数据类型互相转换:

  • 列表转元组:tuple()
  • 字符串转元组:tuple(“abc”)
my_list = [11, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple)  # 输出 (11, 2, 3)

my_str = "abc"
my_tuple_from_str = tuple(my_str)
print(my_tuple_from_str)  # 输出 ('a', 'b', 'c')

在这里插入图片描述

13 总结

  • 元组的内存优化:由于元组是不可变的,它们比列表更节省内存,且访问速度通常比列表快。因此,元组适用于不需要修改的、相对较小的元素集合。
  • 元组在 Python 中是一个非常有用的数据结构,提供了高效且不可变的元素存储方式。其主要特点是不可变性,使得它比列表更加安全和高效,特别适用于数据不会改变的场景。

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

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

相关文章

Vue与Konva:解锁Canvas绘图的无限可能

前言 在现代Web开发中&#xff0c;动态、交互式的图形界面已成为提升用户体验的关键要素。Vue.js&#xff0c;作为一款轻量级且高效的前端框架&#xff0c;凭借其响应式数据绑定和组件化开发模式&#xff0c;赢得了众多开发者的青睐。而当Vue.js邂逅Konva.js&#xff0c;两者结…

go语言文件和目录

打开和关闭文件 os.Open()函数能够打开一个文件&#xff0c;返回一个*File 和一个 err。操作完成文件对象以后一定要记得关闭文件。 package mainimport ("fmt""os" )func main() {// 只读方式打开当前目录下的 main.go 文件file, err : os.Open(".…

Solidity09 Solidity构造函数和修饰器

文章目录 一、构造函数二、修饰器三、OpenZeppelin的Ownable标准实现四、Remix 演示示例五、代码示例 这一讲&#xff0c;我们将用合约权限控制&#xff08; Ownable&#xff09;的例子介绍 Solidity语言中构造函数&#xff08; constructor&#xff09;和独有的修饰器&…

使用wpa_supplicant和wpa_cli 扫描wifi热点及配网

一&#xff1a;简要说明 交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产&#xff0c;如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话&#xff0c;使用wpa_supplicant即可&#xff0c;否则还需要使用wpa_…

大模型应用与实战:专栏概要与内容目录

文章目录 大模型应用与实战&#x1f4da; 核心内容模块一、大模型推理与部署1.1 推理框架应用实践1.2 框架源码深度解析1.3 高并发部署优化1.4 国产化平台适配 二、Agent框架专题2.1 Langchain系列2.2 Qwen-Agent系列2.3 Dify应用实践2.4 框架对比与迁移 三、微调技术研究3.1 微…

Arbess基础教程-创建流水线

Arbess(谐音阿尔卑斯) 是一款开源免费的 CI/CD 工具&#xff0c;本文将介绍如何使用 Arbess 配置你的第一条流水线&#xff0c;以快速入门上手。 1. 创建流水线 根据不同需求来创建不同的流水线。 1.1 配置基本信息 配置流水线的基本信息&#xff0c;如分组&#xff0c;环境&…

科普书《从一到无穷大》的科普知识推翻百年集论

科普书《从一到无穷大》的科普知识推翻百年集论 黄小宁 “我们给两组无穷大数列中的各个数一一配对&#xff0c;如果最后这两组都一个不剩&#xff0c;这两组无穷大就是相等的&#xff1b;如果有一组还有些数没有配出去&#xff0c;这一组就比另一组大些&#xff0c;或者说强些…

【键盘识别】实例分割

第一步 键盘检测 方案一 canny边缘检测 canny边缘检测检测结果不稳定,容易因为复杂背景或光线变换检测出其他目标。 如图是用canny边缘检测方法标出的检测出的边缘的四个红点。 参考的是这篇文章OpenCV实战之三 | 基于OpenCV实现图像校正_opencv 图像校正-CSDN博客 方案二…

25/2/7 <机器人基础>雅可比矩阵计算 雅可比伪逆

雅可比矩阵计算 雅可比矩阵的定义 假设我们有一个简单的两个关节的平面机器人臂&#xff0c;其末端执行器的位置可以表示为&#xff1a; 其中&#xff1a; L1​ 和 L2 是机器人臂的长度。θ1​ 和 θ2是关节的角度。 计算雅可比矩阵 雅可比矩阵 JJ 的定义是将关节速度与末…

apisix的real-ip插件使用说明

k8s集群入口一般都需要过负载均衡&#xff0c;然后再到apisix。 这时候如果后台业务需要获取客户端ip&#xff0c;可能拿到的是lb或者网关的内网ip。 这里一般要获取真实ip需要做几个处理。 1. 负载均衡上&#xff0c;一般支持配置获取真实ip参数&#xff0c;需要配置上。然…

Python实现GO鹅优化算法优化支持向量机SVM分类模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 随着信息技术的迅猛发展&#xff0c;数据量呈爆炸式增长&#xff0c;如何从海量的数据中提取有价值…

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样&#xff1f; 这里描述自己在使用AI进行数据分析&#xff08;数据清洗&#xff09;过程中的几个小故事&#xff1a; 1. 变量名的翻译 有一个项目是某医生自己收集的数据&#xff0c;变量名使用的是中文&#xff0c;分…

备战蓝桥杯:双指针(滑动窗口)算法之逛花展

P1638 逛画展 - 洛谷 | 计算机科学教育新生态 这道题我们只要用一个kind和一个mp[N]的数组就能解决了 我们的解法1就是暴力枚举&#xff0c;先固定2&#xff0c;从2开始找连续的满足所有种类的最短的子数组&#xff0c;然后固定5&#xff0c;3&#xff0c;1&#xff0c;3&…

collabora online+nextcloud+mariadb在线文档协助

1、环境 龙蜥os 8.9 docker 2、安装docker dnf -y install dnf-plugins-core dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sed -i shttps://download.docker.comhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce /etc/yum.repos.…

深度学习中的Checkpoint是什么?

诸神缄默不语-个人CSDN博文目录 文章目录 引言1. 什么是Checkpoint&#xff1f;2. 为什么需要Checkpoint&#xff1f;3. 如何使用Checkpoint&#xff1f;3.1 TensorFlow 中的 Checkpoint3.2 PyTorch 中的 Checkpoint3.3 transformers中的Checkpoint 4. 在 NLP 任务中的应用5. 总…

用深度学习模型构建海洋动物图像分类保姆教程

使用深度学习模型构建深度学习海洋动物图像分类模型的完整步骤如下&#xff0c;分为关键阶段和详细操作说明&#xff1a; 1. 数据准备与预处理 1.1 数据集组织 按类别分文件夹存储图像&#xff0c;例如&#xff1a;dataset/train/class1/class2/...val/class1/class2/...test…

npm无法加载文件 因为此系统禁止运行脚本

安装nodejs后遇到问题&#xff1a; 在项目里【node -v】可以打印出来&#xff0c;【npm -v】打印不出来&#xff0c;显示npm无法加载文件 因为此系统禁止运行脚本。 但是在winr&#xff0c;cmd里【node -v】,【npm -v】都也可打印出来。 解决方法&#xff1a; cmd里可以打印出…

知识库升级新思路:用生成式AI打造智能知识助手

在当今信息爆炸的时代&#xff0c;企业和组织面临着海量数据的处理和管理挑战。知识库管理系统&#xff08;Knowledge Base Management System, KBMS&#xff09;作为一种有效的信息管理工具&#xff0c;帮助企业存储、组织和检索知识。然而&#xff0c;传统的知识库系统往往依…

蚂蚁爬行最短问题

初二数学问题记录 分析过程 考点&#xff1a;2点之间直线最短。 思考过程&#xff1a;将EBCF以BC为边翻折&#xff0c;EF边翻折后为&#xff0c;则A为蚂蚁需要爬行的最小距离。

【电机控制器】STC8H1K芯片——低功耗

【电机控制器】STC8H1K芯片——低功耗 文章目录 [TOC](文章目录) 前言一、芯片手册说明二、IDLE模式三、PD模式四、PD模式唤醒五、实验验证1.接线2.视频&#xff08;待填&#xff09; 六、参考资料总结 前言 使用工具&#xff1a; 1.STC仿真器烧录器 提示&#xff1a;以下是本…