【Python系列】Python 元组(Tuple)详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 1.引言
    • 2.元组的定义与创建
    • 3.元组的特点
    • 4.元组的操作
    • 5.元组与列表的转换
    • 6.元组的应用场景
    • 7.元组与列表的性能比较
    • 8.元组的高级用法
    • 9.低级 BUG

1.引言

在 Python 中,元组(Tuple)是一种非常基础且常用的数据结构,它与列表(List)类似,但元组是不可变的。这意味着一旦元组被创建,就不能对其进行修改,比如添加、删除或更改元素。这种不可变性使得元组在某些情况下比列表更加安全和高效。
在这里插入图片描述

2.元组的定义与创建

元组可以通过圆括号()来定义,也可以省略括号直接使用逗号,。下面展示了两种创建元组的方法:

# 使用圆括号创建元组
tup1 = (1, 2, 3)

# 省略圆括号直接使用逗号创建单元素元组
tup2 = 4,

3.元组的特点

  1. 不可变性:一旦创建,元组中的元素就不能被修改。
  2. 索引:元组支持索引,可以通过索引访问元组中的元素。
  3. 切片:元组支持切片操作,可以获取元组的一部分。
  4. 可迭代:元组是可迭代的,可以用于for循环中。
  5. 散列性:由于元组是不可变的,它们是可哈希的,可以作为字典的键。

4.元组的操作

虽然元组不可变,但 Python 提供了一些内置的方法来操作元组:

  • len(tup):获取元组的长度。
  • tup[index]:获取元组中指定索引的元素。
  • tup[start:end]:获取元组中的一部分,即切片操作。

5.元组与列表的转换

元组和列表之间可以相互转换:

  • 使用list()函数可以将元组转换为列表。
  • 使用tuple()函数可以将列表转换为元组。
# 将元组转换为列表
list1 = list(tup1)

# 将列表转换为元组
tup3 = tuple(list1)

6.元组的应用场景

由于元组的不可变性,它通常用于以下场景:

  1. 函数返回多个值:Python 函数可以返回元组,这样就可以一次返回多个值。
  2. 作为字典的键:由于元组是不可变的,它可以用作字典的键。
  3. 存储配置数据:当需要存储一些不应改变的数据时,使用元组可以保证数据的安全性。

7.元组与列表的性能比较

在某些情况下,元组的性能要优于列表,尤其是在创建大量数据时。由于元组是不可变的,Python 解释器可以对元组进行一些优化,比如:

  • 元组的内存分配是一次性的,而列表在添加元素时可能需要多次内存分配。
  • 元组的哈希值在创建时就计算并存储,而列表则需要在需要时计算。

8.元组的高级用法

虽然元组看起来简单,但它也有一些高级用法,比如:

  • 嵌套元组:元组中可以包含其他元组,形成嵌套结构。
  • 多返回值:函数可以返回一个包含多个元素的元组。
  • 解包:Python 支持元组的解包,可以将元组中的元素直接赋值给多个变量。
# 函数返回多个值
def get_user_info():
    return ("Alice", 30, "Engineer")

# 使用解包获取返回值
name, age, job = get_user_info()

在这里插入图片描述

9.低级 BUG

在开发过程中,不要随意在结尾写逗号,不然会出现莫名其妙的 bug

t = 1,
s = 1

print(type(t))
print(type(s))

<class ‘tuple’>
<class ‘int’>

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot结合mybatis使用多数据源的方式

背景 最近有一个需求&#xff0c;有两个库需要做同步数据&#xff0c;一个Doris库&#xff0c;一个mysql库&#xff0c;两边的表结构一致&#xff0c;这里不能使用navicat等工具提供的数据传输之类的功能&#xff0c;只能使用代码做同步&#xff0c;springboot配置多数据…

乐高小人分类项目

数据来源 LEGO Minifigures | Kaggle 建立文件目录 BASE_DIR lego/star-wars-images/ names [YODA, LUKE SKYWALKER, R2-D2, MACE WINDU, GENERAL GRIEVOUS ] tf.random.set_seed(1)# Read information about dataset if not os.path.isdir(BASE_DIR train/):for name in …

GPT-4o:新一代人工智能技术的全方位解析引言

目录 &#x1f40b;引言 &#x1f40b;梳理 GPT 各版本之间的内容 &#x1f988;GPT-1&#xff1a;开创性的起点 &#x1f988; GPT-2&#xff1a;参数规模的大幅提升 &#x1f988; GPT-3&#xff1a;参数爆炸与多任务学习 &#x1f988;GPT-4&#xff1a;进一步提升的智…

嵌入式模块学习小记(未分类)

L298N电机驱动板模块 Output A&#xff1a;接DC 电机 1 或步进电机的 A和 A-&#xff1b; Output B&#xff1a;接DC 电机 2 或步进电机的 B和 B-&#xff1b; 5V Enable&#xff1a;如果使用输入电源大于12V的电源&#xff0c;请将跳线帽移除。输入电源小于12V时短接可以提…

【Python面试50题】

1. **基础概念** 1. Python 是解释型还是编译型语言&#xff1f; 2. 什么是 Python 的 GIL&#xff08;全局解释器锁&#xff09;&#xff1f; 3. 如何理解 Python 中的可变与不可变数据类型&#xff1f; 4. 解释一下 Python 中的 pass 语句。 5. Python 中的列…

让低代码平台插上AI的翅膀 - 记开源驰骋AI平台升级

让低代码系统插上AI的翅膀——驰骋低代码开发平台引领新时代 在当今日新月异的科技世界中&#xff0c;人工智能&#xff08;AI&#xff09;已经成为各个行业不可或缺的一部分。从制造业的自动化生产到金融行业的智能风控&#xff0c;再到医疗领域的精准诊断&#xff0c;AI技术…

FPGA-ARM架构与分类

ARM架构&#xff0c;曾称进阶精简指令集机器&#xff08;Advanced RISC Machine&#xff09;更早称作Acorn RISC Machine&#xff0c;是一个32位精简指令集&#xff08;RISC&#xff09;处理器架构。 主要是根据FPGA zynq-7000的芯片编写的知识思维导图总结,废话不多说自取吧 …

GPT LoRA 大模型微调,生成猫耳娘

往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用&#xff1b;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战&#xff0c;Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc…

Windows环境安装redis

1、下载redis https://github.com/tporadowski/redis/releases 2、解压 .zip 3、更改文件名 更改文件名称为&#xff1a;redis 4、将本地解压后的redis&#xff0c;作为本地服务器下的应用服务 从redis文件路径下&#xff0c;执行cmd .\redis-server --service-install re…

使用wireshark分析tcp握手过程

开启抓包 tcpdump -i any host 127.0.0.1 and port 123 -w tcp_capture.pcap 使用telnet模拟tcp连接 telnet 127.0.0.1 123 如果地址无法连接&#xff0c;则会一直重试SYN包&#xff0c;各个平台SYN重试间隔并不一致&#xff0c;如下&#xff1a; 异常站点抓包展示&#xff…

word中设置页眉,首页不设置

在设计文档时&#xff0c;有时候会给文档设置页眉&#xff0c;但是一设置&#xff0c;就是每页都会同时设置&#xff0c;大部分都不需要首页设置&#xff0c;那咋么解决呢&#xff0c;请看以下的解说&#xff0c;Come On&#xff01;&#xff01;&#xff01; 1、首先点击头部…

基于SSM的“基于Apriori算法的网络书城”的设计与实现(源码+数据库+文档)

基于SSM的“基于Apriori算法的网络书城”的设计与实现&#xff08;源码数据库文档) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 网站功能展示图 首页 商品分类 热销 新品 我的订单 个…

组装电脑(使用老机箱)

昨天同事拿来一台联想 ThinkCentre M6210t的台式机&#xff0c;说计算机实在是太慢了&#xff0c;在只保留主机箱想升级一下。   她拿来了配件&#xff0c;有电源、主板、CPU、CPU风扇、内存条、机箱风扇、硬盘&#xff1a;   主板&#xff1a;华硕 Prime H610M-K D4&#…

FPGA高端项目:FPGA解码MIPI视频+图像缩放+视频拼接,基于MIPI CSI-2 RX Subsystem架构实现,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案本方案在Xilinx Artix7-35T上解码MIPI视频的应用本方案在Xilinx Artix7-100T上解码MIPI视频的应用本方案在Xilinx Kintex7上解码MIPI视频的应用本方案在Xilinx Zynq7000上解码MIPI视频的应用本方案在…

【云原生 | 60】Docker中通过docker-compose部署kafka集群

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…

基于WIN2016搭建MS2016 ALWAYS ON域控故障转移群集

基于WIN2016搭建MS2016 ALWAYS ON域控故障转移群集 一、前言1、Always On简介2、AD DC域控简介 二、部署实施1、部署环境简介2、搭建流程简介3、域控服务器安装及群集节点加域3.1、安装域控&#xff0c;安装同时会安装DNS系统3.2、执行安装&#xff0c;完成后重启服务器3.3、将…

哇塞!数字营销竟是企业增长的魔法棒!

​嘿&#xff0c;朋友们&#xff01;你们有没有发现“蚓链数字营销”就像一根神奇的魔法棒&#xff0c;为企业带来了超乎想象的市场影响力&#xff01; 首先&#xff0c;蚓链数字营销能够利用互联网和数字技术&#xff0c;精准地定位目标用户群体。比如&#xff0c;通过搜索引擎…

Java整合EasyExcel实战——3(上下列相同合并单元格策略)

参考&#xff1a;https://juejin.cn/post/7322156759443095561?searchId202405262043517631094B7CCB463FDA06https://juejin.cn/post/7322156759443095561?searchId202405262043517631094B7CCB463FDA06 准备条件 依赖 <dependency><groupId>com.alibaba</gr…

数据分析案例一使用Python进行红酒与白酒数据数据分析

源码和数据集链接 以红葡萄酒为例 有两个样本: winequality-red.csv:红葡萄酒样本 winequality-white.csv:白葡萄酒样本 每个样本都有得分从1到10的质量评分&#xff0c;以及若干理化检验的结果 #理化性质字段名称1固定酸度fixed acidity2挥发性酸度volatile acidity3柠檬酸…

【SpringBoot】SpringBoot整合JWT

目录 先说token单点登录&#xff08;SSO&#xff09;简介原理单点登录的优势单点登录流程分布式单点登录方式方式一&#xff1a;session广播机制实现方式二&#xff1a;使用cookieredis实现。方式三&#xff1a;token认证 JWT数字签名JWT的作用JWT和传统Session1、无状态&#…