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

python学习25:python中的元组(tuple)

python中的元组(tuple)

1.什么是元组?
元组也是容器数据类型的一种,同列表几乎是一样的,都是可以在里面封装多个,不同类型的元素在内;与列表最大的不同就是:
元组一旦被定义,就不能修改

2.元组的定义:
定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型

"""
元组的定义:
# 定义元组字面量 :  (元素,元素,....元素)   是小括号,列表的话就是中括号[]
# 定义元组变量:  变量名称= (元素,元素,....元素) 
# 定义空元组  变量名称=()   #方式1变量名称=tuple()   #方式2注意事项:  定义三个元素的元组: t1=(1,'hello',True)定义一个元素的元组: t2=('hello',)  # 注意:必须带有逗号,否则就不是元组类型注意:元组只有一个数据时,这个数据后面要添加逗号,否则就不是元组类型
"""

3.元组的操作和代码演示:
在这里插入图片描述

"""
演示tuple元组的定义和操作
"""
# 定义元组
t1 = (1, 2, 3)
t2 = ('coco', 'xiaoxiao')
t3 = ('xuanxuan',)  # 只有一个元素时,元素后面要加个逗号
t4 = tuple()  # t4=()  定义空元组
# 元组的嵌套
t11 = ((1, 2, 3), (4, 5, 6))
print(t11[1][1])  # 获取下标元素的方法和列表是一样的# 元组的操作:index查找方法
t0 = (1, 2, 'hello', 'coco', True)
index = t0.index(2)
index1 = t0.index('cococ')  # 报错  tuple.index(x): x not in tuple
print(f'2所在元组的位置是:{index}--{index1}')# 元组的操作:count统计方法
t10 = (1, 'coco', 'xiaoxiao', 1, 2, 3)
count1 = t10.count(1)
print(f'元素1在元组中出现的次数是:{count1}')# 元组的操作:len函数统计元组元素数量
t11 = (1, 2, 3, 4, 5, 6)
t11_len = len(t11)
print(f'元组t11的长度是:{t11_len}')# 元组的遍历:while循环
t12 = (1, 2, 3, 4, 5, 6)
index = 0
while index < len(t12):print(f'元组t12中的第{index + 1}个元素是:{t12[index]}')index += 1# 元组的遍历:for循环
index = 1
for i in t12:print(f'元组t12中的第{index}个元素是:{i}')index += 1

4.元组中的相关操作中的注意事项:

# 不可以修改元组的内容,否则会直接报错的
t1 = (1, 2, 3)
# 尝试修改元组的内容
# t1[0] = 7  # 报错:TypeError: 'tuple' object does not support item assignment# 但是元组是可以修改里面嵌套的列表的内容的
t2 = (1, 2, 3, [4, 5, 6])
t2[3][0] = 'coco'
print(f'修改元组中列表的内容后,元组是:{t2}')  #元组是:(1, 2, 3, ['coco', 5, 6])

5.元组的特点总结:

  • 可以容纳多个数据
  • 可以容纳不同类型的数据
  • 数据是有序储存的
  • 允许重复数据存在
  • 不可以修改(元组内的列表元素是可以修改的)
  • 支持while,for循环

相关文章:

  • 【C语言】——指针八:指针运算笔试题解析
  • 明日周刊-第5期
  • Unity框架,ET框架8.1版本的打包流程记录
  • Linux——gdb
  • 计算机毕业设计选题之基于SSM的旅游管理系统【源码+PPT+文档+包运行成功+部署讲解】
  • Nginx: proxy_set_header 与 add_header 区别
  • 卫星遥感监测森林植被健康度
  • 影院座位选择简易实现(uniapp)
  • 【Qt】:常用控件(一:概述和QWidget核心属性)
  • 容器和K8s常见概念
  • 理解数学概念——整函数(复平面可积函数)
  • 主流公链文章整理
  • node res.end返回json格式数据
  • react组件:strictmode
  • 漂亮国的无人餐厅的机器人骚操作
  • #Java异常处理
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Angular 响应式表单之下拉框
  • es6要点
  • java多线程
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • python docx文档转html页面
  • Python利用正则抓取网页内容保存到本地
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Vue2.0 实现互斥
  • vue中实现单选
  • 大型网站性能监测、分析与优化常见问题QA
  • 近期前端发展计划
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 使用权重正则化较少模型过拟合
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #android不同版本废弃api,新api。
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (超详细)语音信号处理之特征提取
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (三分钟)速览传统边缘检测算子
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ***详解账号泄露:全球约1亿用户已泄露
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET DataGridView数据绑定说明
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET MVC 验证码
  • .net 受管制代码
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET程序员迈向卓越的必由之路
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [20150629]简单的加密连接.txt