当前位置: 首页 > news >正文

【5.3 python中的元组】

5.3 python中的元组

Python中的元组(Tuple)是一种用于存储多个项目(可以是不同类型)的序列数据结构,但它与列表(List)不同,主要区别在于元组是不可变的(immutable),一旦创建,其内部元素就不能被修改(即不能添加、删除或更改元组中的元素)。元组通常用于存储不应该改变的数据集合,如数据库中的一行记录,或者函数的多个返回值。

创建元组

元组使用圆括号()来定义,元组中的元素之间使用逗号,分隔。即使元组中只有一个元素,也需要在该元素后面加上逗号,以区分于圆括号用于数学表达式中的用途。

# 创建一个空元组
empty_tuple = ()# 创建一个包含多个元素的元组
tuple_example = (1, 2, 3, 'a', 'b', 'c')# 只有一个元素的元组
single_element_tuple = ('a',)  # 注意后面的逗号

访问元组中的元素

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

tuple_example = (1, 2, 3, 'a', 'b', 'c')
print(tuple_example[0])  # 输出: 1
print(tuple_example[5])  # 输出: 'c'

元组的切片

和列表一样,元组也支持切片操作,可以获取元组的一个子集。

tuple_example = (1, 2, 3, 4, 5, 6)
print(tuple_example[1:4])  # 输出: (2, 3, 4)

元组是不可变的

尝试修改元组中的元素会引发TypeError

tuple_example = (1, 2, 3)
# tuple_example[0] = 4  # 这会引发TypeError

然而,如果元组中的元素是可变类型(如列表),则可以修改这些元素的内部状态,但这不会改变元组本身的不可变性(即你不能替换整个列表元素,但可以修改列表中的元素)。

tuple_example = (1, [2, 3], 4)
tuple_example[1][0] = 5  # 这是允许的,因为列表是可变的
print(tuple_example)  # 输出: (1, [5, 3], 4)

元组的应用场景

  • 作为字典的键(因为字典的键必须是不可变的)
  • 存储不应该改变的数据集合
  • 函数的多个返回值(Python允许函数返回元组,从而可以一次返回多个值)

总结

Python中的元组是一种用于存储多个项目的不可变序列。尽管其元素不可变,但元组仍是一种强大且灵活的数据结构,适用于多种编程场景。

http://www.lryc.cn/news/423505.html

相关文章:

  • Debezium报错处理系列之第116篇:Caused by: java.lang.NumberFormatException: null
  • 【启明智显技术分享】工业级HMI芯片Model3C/Model3A开发过程中问题记录笔记二
  • Python 函数返回yield还是return?这是个问题
  • Linux系统性能调优
  • PHPStorm 环境配置与应用详解
  • 前端各种文本文件预览 文本编辑excel预览编辑 pdf预览word预览 excel下载pdf下载word下载
  • 【Qt】QPluginLoader 类学习
  • DataGear 企业版 1.2.0 发布,数据可视化分析平台
  • 为啥https比http慢
  • 软件测试需要具备的基础知识【功能测试】---后端知识(三)
  • 详解 Redis 队列 实现
  • 分析SQL的count(*)并优化
  • Java学习日记(day18)
  • Oracle(61)什么是外部表(External Table)?
  • 物联网HMI/网关搭载ARM+CODESYS实现软PLC+HMI一体化
  • Java中Stream流
  • 纯css实现多行文本右下角最后一行展示全部按钮
  • WPF篇(17)-ListBox列表控件+ListView数据列表控件
  • HAProxy 全解析:驾驭网络负载均衡与高可用的强大引擎
  • 陶瓷材质的防静电架空地板越来越受欢迎的原因
  • Mariadb数据库本机无密码登录的问题解决
  • 校园外卖平台小程序的设计
  • Python3 第八十一课 -- urllib
  • Vue 3+Vite+Eectron从入门到实战系列之(五)一后台管理登录页
  • Docker 网络代理配置及防火墙设置指南
  • 基于PostGIS(Postgres)+Node.js实现的xyz瓦片地图服务器
  • 浙大数据结构慕课课后题(06-图3 六度空间)
  • Windows File Recovery卡在99%怎么解决?实用指南!
  • 数据结构之数组
  • springboot集成sensitive-word实现敏感词过滤