[Python学习日记-16] 细讲数据类型——元组

news2024/9/21 12:27:01

[Python学习日记-16] 细讲数据类型——元组

简介

元组的创建和查看

元组的切片

元组的循环

元组的嵌套

简介

        有些时候我们的列表数据不想被人修改时怎么办?就可以用元组存放。元组(tuple)其实是列表的兄弟类型,他们非常的相似,但元组是不能修改的,这意味着不能向元组中添加、删除或修改元素,所以我们也把它称之为只读列表。

定义:与列表类似,只不过 [] 改成 ()

特性:

  1. 可存放多个值
  2. 不可变
  3. Python 中的元组是一种有序的,按照从左到右的顺序定义元组元素,下标从0开始顺序访问

元组的创建和查看

一、创建

name = (1,2,3,4)
name = ("str1","str2","str3","str4")
name = ("str1",2,3,"str4")
name = ("str1","str2",[1,2,3,4],"str3","str4")

 

二、查看 

1、索引查看

name = ("str1","str2","str3","str4")
name[0]
name[3]
name[-1]

 

2、使用列表的方法查询

name.index("str2")    # 返回从左开始匹配到的第一个 str2 的索引
name.count("str2")    # 返回元组中 str2 的个数

 

注意:index() 如果查找的元素不存在于元组当中,会报错说元组中不存在该元素;而 count() 没有找到将不会报错,而是显示0

3、获取元组的长度

print(len(name))

 

 4、直接查在不在元组

"str1" in name
"str5" in name
"str4" not in name

 

5、把元组全取出来

print(name[:])

 

 

元组的切片

        元组的切片和列表一样

name[start:end]

1、正着切

name = ("str1","str2","str3","str4","str5")
print(name[1:4])    # 不包含序号为4的元素
print(name[1:-2])
print(name[1:])    # 把最后的都取出来
print(name[:4])    # 左边不写代表从0开始

 

2、倒着切

name = ("str1","str2","str3","str4","str5")
print(name[-5:-1])

print(name[-5:])    # 与列表相同,只需要不输入结尾的序号就可以直接取出后5位了

 

3、步长 

        元组的步长与列表也是一样的,默认的步长是1,所以切片的时候是一个个切的,我们通过步长的设置可以实现两个两个切、三个三个切...这样跳着切

name[start:end:step]        # step 默认值是1

print(name[0:-1:1])    # 设置步长为1
print(name[0:-1:2])    # 设置步长为2,这样会跳一个打印一个
print(name[0:-1:3])    # 设置步长为3
print(name[::3])    # 整个列表加步长3
print(name[::-1])    # 元组都倒序
print(names[-1:-5:-1])    # 在倒序的基础上就可以从右往左切

 

 

元组的循环

for i in name:
    print(i)

 

 

元组的嵌套

         前面说到,元组本身是不能修改的,如果元组中包含其他可变的元素呢?例如列表之类的。这些可变元素是可以改变的

name = ("str1","str2",[1,2,3,4],"str3","str4","str5")
name[2][0] = 11
print(name)

        为什么元组内的列表是可变的呢?按照理解不应该都是不可变的吗?这是因为元组只是存每个元素的内存地址,上面 [11,2,3,4] 这个列表本身的内存地址存在元组里确实不可改变,但是整个列表包含的元素的内存地址是存在另外一块空间里的,而这个空间是一个列表是可变的。

         总的来说,元组本身不可修改,如果包含可修改的数据类型, 那被包含的数据类型可以修改。

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

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

相关文章

springboot项目中 前端浏览器访问时遇到跨域请求问题CORS怎么解决?has been blocked by CORS policy

文章目录 现象解决方案1. **全局配置 CORS**2. **使用 CrossOrigin 注解**3. **配置 Spring Security**4. **自定义 CORS 过滤器** Spring Security 6.x 及其后续版本解决方案1. 使用 SecurityFilterChain 配置 CORS2. 重要配置说明3. 在生产环境中的最佳实践 现象 前端浏览器…

【题解】CF2008G

题意翻译 原题链接CF2008G 思路 由于操作次数不限,观察到所有操作都是可逆的,所以可以随便搞。然后观察mex函数,发现让所有数在不重复的情况下尽可能地小是最优的(重复就浪费了)。      先不考虑重复和 0 0 0&a…

Ali_Yun Port

Ali_Yun Port 云服务器端口

【信创】加装硬盘后如何迁移微信数据到新磁盘 _ 统信 _ 麒麟 _ 方德

原文链接:【信创】Linux加装硬盘后如何迁移微信数据到新磁盘 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于在Linux系统中加装新硬盘后,如何将微信等数据迁移到新磁盘的文章。在使用过程中,随着数据量的…

拱式桥安全结构健康监测解决方案

拱式桥作为一种常见的桥梁结构,其拱形设计不仅美观,还具有较高的承载能力。然而,随着使用年限的增加和环境因素的影响,拱式桥的结构健康和稳定需要持续监测和评估。自动化监测技术的应用,可以提升拱式桥的监测效率和准…

快速使用react 全局状态管理工具--redux

redux Redux 是 JavaScript 应用中管理应用状态的工具,特别适用于复杂的、需要共享状态的中大型应用。Redux 的核心思想是将应用的所有状态存储在一个单一的、不可变的状态树(state tree)中,状态只能通过触发特定的 action 来更新…

代码随想录训练营 Day58打卡 图论part08 拓扑排序 dijkstra(朴素版)

代码随想录训练营 Day58打卡 图论part08 一、拓扑排序 例题:卡码117. 软件构建 题目描述 某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果…

用Python实现时间序列模型实战——Day 18: 时间序列中的季节性与周期性预测

一、学习内容 1. 季节性调整与周期性预测 季节性调整 是在时间序列分析中常用的技术,旨在去除数据中因季节性波动导致的周期性变化,使数据更易于解释和预测。通常,我们可以使用季节性分解方法来分离时间序列中的趋势、季节性和随机成分。 …

JAVA实现压缩包解压兼容Windows系统和MacOs

目标:JAVA实现压缩包解压获取图片素材 问题:Windows系统和MacOs压缩出来的zip内容有区别 MacOs会多出来 以及本身一个文件夹 而windows则不会。为了解决这个问题。兼容mac的压缩包增加一层过滤 要知道 ZipInputStream 可以读取 ZIP 文件中的条目&…

KTV 营业明细+员工提成—SAAS本地化及未来之窗行业应用跨平台架构

一、ktv 绩效必要性 1. 激励员工积极性:提成制度能够直接将员工的努力和收入挂钩,促使员工更加积极主动地工作,以获取更高的收入。 2. 提高工作效率和业绩:为了获得更多提成,员工会努力提高工作效率,增加业…

别中招!从“超低利率“到“包过承诺“,揭秘贷款几大陷阱!

今天咱们聊聊贷款时得防的那些坑,免得一不小心就被套路了。你以为找了个靠谱帮手,结果却是步步陷阱,咱们一起来揭秘这些招数,也给大伙儿提个醒。 第一招,低利率诱惑。正常普通信用贷款服务费是2-15%个点内,…

第十七节:学习Hutool上传文件(自学Spring boot 3.x的第四天)

这节记录下如何使用Hutool库上传本地的文件到服务器端(因为是练习,所以是本地端)。 第一步:引入Hutool库最新版本,通过maven方式。(最新版本需去maven仓库查询) 第二步:编写一个post…

Django路由访问及查询数据

1、在应用模块下,创建urls文件,用来存放访问路由 2、在项目总访问url里面注册路由 3、在view文件里,定义方法参数 from django.core import serializers from django.db import connection from django.http import HttpResponse, JsonRespo…

【佳学基因检测】在织梦网站中, 创建或修改目录:/var/www/html/cp 失败! DedeTag Engine Create File False

【佳学基因检测】在织梦网站中, 创建或修改目录:/var/www/html/cp 失败! DedeTag Engine Create File False 在使用 DedeCMS(一个常用的内容管理系统)时,如果遇到“创建或修改目录:/var/www/html/cp 失败&…

背靠大众,「半价Model 3」卖爆,小鹏走出低谷

‍作者 |老缅 编辑 |德新 各路消息都在显示,小鹏MONA M03爆单了。 总裁王凤英在庆功宴上喝下了人生第一杯酒。 小鹏MONA产品线负责人透露,上市后的两天内,MONA全国的试驾车累计开了超过10万公里。 在上市后的48小时内,M03获得…

华为OD机试 - 周末爬山 - 广度优先搜索BFS(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

Mysql基础——DML

数据操作语言(DML,Data Manipulation Language) DML语句用于对数据库中的数据进行操作(增删改查数据),主要包括: INSERT:向表中插入数据,例如 INSERT INTO table_name …

超简单,3步训练Flux Lora模型,附整合包!

超简单,3步训练Flux Lora模型,附整合包! 🎉 12G显存也能炼Flux Lora模型?!3步速成,小白也能轻松上手! 兄弟们!AI绘画领域又迎来了一波革命!Flux Lora模型训练…

2024中国500强企业高峰论坛安然大健康分论坛圆满举办!

一场巅峰聚首的风云际会,一次引领未来的行业盛宴。 9月10日至11日,由中国企业联合会、中国企业家协会主办的2024中国500强企业高峰论坛在天津举行,本届高峰论坛以“向‘新’而行、打造更多世界一流企业”为主题,汇集业内知名企业…

利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(三)

简介 随着生成式人工智能的兴起,传统的 BI 报表功能已经无法满足用户对于自动化和智能化的需求,今天我们将介绍亚马逊云科技平台上的AI驱动数据可视化神器 – Quicksight,利用生成式AI的能力来加速业务决策,从而提高业务生产力。…