[Python学习篇] Python元组

元组(Tuple):元组是不可变的,一旦创建就不能修改其内容。这意味着你不能增加、删除或更改元组中的元素。元组使用小括号()表示。元组可以一次性存储多个数据,且可以存不同数据类型。

定义元组

语法:

# 存多个数据的元组

变量 = (数据1, 数据2, 数据n)

# 存单个数据的元组

变量 = (数据1, )

注意:如果定义的元组中只有一个数据,这个数据后面也要跟上逗号,这样定义的数据是元组类型。如果没有跟上逗号,那么定义的数据的类型是元组中数据的数据类型。

示例:定义元组

t1 = (10, 20, 30)
t2 = (10,)

示例:单个数据的元组的数据类型

t1 = (10,)
print(type(t1))  # 跟上逗号后,数据类型是元组
t2 = (20)
print(type(t2))  # 不跟逗号,由于20是int类型,那么变量t2的类型也是int
t3 = ('Hi')
print(type(t3))  # 不跟逗号,由于Hi是str类型,那么变量t3的类型也是str


元组的查找

  • 下标:查找返回指定下标位置的数据。下标超出元组长度报错IndexError: tuple index out of range

示例:

t1 = ('Tom', 'Jerry', 'Spike')
print(t1[2])  # 打印 Spike
  • index():返回指定数据所以位置的下标。数据不存在报错:ValueError: tuple.index(x): x not in tuple

语法:

元组序列.index(数据, 开始位置下标, 结束位置下标)  #省略开始结束下标表示在整个元组中查找。不省略表示在指定下标范围内查找。

name_tuple = ('Tom', 'Jerry', 'Spike')
print(name_tuple.index('Tom'))  # 返回所在下标 0
print(name_tuple.index('Jerry', 0, 2))
  • count():统计指定数据在元组中出现的次数。

示例:

name_tuple = ('Tom', 'Jerry', 'Spike')
print(name_tuple.count('Tom'))  # 打印出现次数 1
  • len():获取元组的长度。即元组中数据的个数。
name_tuple = ('Tom', 'Jerry', 'Spike')
print(len(name_tuple))  # 打印元组长度 3

如果元组中的数据有列表,修改列表里的数据是可以的。

示例:

name_tuple = ('Tom', 'Jerry', 'Spike', [10, 20, 30])
name_tuple[3][0] = 500
print(name_tuple)  # ('Tom', 'Jerry', 'Spike', [500, 20, 30])

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

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

相关文章

GitLab安装部署以及bug修复

使用git,还需要一个远程代码仓库。常见的github、gitee这种远程代码仓库,公司中一般不会使用,因为他们是使用外网的,不够安全。一般企业都会搭建一个仅内网使用的远程代码仓库,最常见就是 GitLab 安装准备 需要开启s…

从11个视角看全球Rust程序员1/4:深度解读JetBrains最新报告

讲动人的故事,写懂人的代码 五个月前,编程界的大佬JetBrains发布了他们的全球开发者年度报告。 小吾从这份报告中找出了下面11个关于全球程序员如何使用Rust的有趣的趋势,让你学习和使用Rust更轻松。 1 这两年有多少程序员在工作中使用了Rust? 2 全球程序员使用Rust有多…

设备保养计划不再是纸上谈兵,智能系统让执行更到位!

在物业管理的日常工作中,我们常常听到“设备保养台账”“设备保养计划”“设备保养记录”等等这些词,但你是否真正了解它们的含义?是否知道一个完善的设备保养计划、记录、台账对于物业运营的重要性?今天,我们就来深入…

3大法则教你高效制定奖励规则(含参考案例)

在实施全民分销的过程中,SaaS产品方和合作伙伴推广者之间的合作关系可以用河马与牛椋鸟之间的共生关系来形容——牛椋鸟以栖息在河马背上并清理其身上的昆虫为生。这种关系对两者来说都是极其有益的:牛椋鸟获得了稳定的食物来源,而河马则有效…

使用宝塔面板部署Django应用(不成功Kill Me!)

使用宝塔面板部署Django应用 文章目录 使用宝塔面板部署Django应用 本地操作宝塔面板部署可能部署失败的情况 本地操作 备份数据库 # 备份数据库 mysqldump -u root -p blog > blog.sql创建requirements # 创建requirements.txt pip freeze > requirements.txt将本项目…

梳理Y3游戏编辑器入门者需要明白的基础概念

前言 Y3编辑器是网易开发的一款类似于“War3地图编辑器”的产品。 最近KK对战平台上不少热门的RPG地图都出自Y3编辑器: 最近我花了些时间学习了这款编辑器的基础知识。我发现其中很多概念是比较抽象需要理解的,而有些概念比如“物件”、“物体”、“物…

二叉树-根据先序遍历和中序遍历序列重建二叉树

目录 一、问题描述 二、解题思路 1.首先明确先序遍历和中序遍历的性质: 2.确定根节点及左右子树 3.对子树进行递归操作 4.递归返回条件 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 1.首先明确先序遍历和中序遍历的性质: 先序遍历&am…

Excel和Word等工具小技能分享汇编(一)

这里汇集刘小生前期微信公众号分享的Excel和Word等工具小技能,为方便大家查看学习,刘小生对其进行分类整理,后期也会不定期整理更新,如有想学习交流或其他小技巧需求,欢迎留言,我们一起学习进步&#xff01…

探索比特币多面体

目录 前言 一、比特币挖矿 1.挖矿设备的演化 2.矿池 二、比特币脚本 1.交易结构 2.交易的输入 3.交易的输出 4.P2PK 输入输出脚本的形式 实际执行情况 5.P2PKH 输入输出脚本的形式 实际执行情况 6.P2SH 输入输出脚本的形式 7.进一步说明 8.多重签名 9.脚本执…

DBA常用论坛

1.ITPUB ITPUB技术论坛_专业的IT技术社区 2.ASKTOM Ask TOM

Python 使用print输出二进制文件时产生的错位

项目实践中, with open(fileName, rb) as f: result f.read()print(result)f.close()打开二进制文件,打印出的结果会出现有些\x后面有好几个字符的情况 但实际这串数字是 这种情况是因为print函数将二进制数据解释为字符串并以其字节值的十六进制表…

Java中如何自定义异常进行抛出,并且定义全局异常处理类进行捕获异常(详细讲解)?

1.先理解为什么要抛出异常? 一句话就是为了终止程序,一般是终止业务层也就是service层。 2.为什么要自定义异常抛出? 因为系统提供的异常种类很多,而且代表的含义很多,所以我们需要自己定义一个通用的异常&#xff0…

白帽子最喜欢用什么渗透测试工具?看看哪些是你用过的

一、白帽子最喜欢用什么安全工具? 2020 年的 HackerOne 黑客报告中,统计过白帽子们最喜欢用的软硬件工具。 从图中可以看到,89% 的白帽子都会使用 Burp Suite 这个 Web 应用安全测试工具,有 39% 会尝试自己写工具,第三名的 Fuzzers 是模糊测试工具。再后面主要是一些代理…

STM32-17-DAC

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU STM32-14-FSMC_LCD STM32-15-DMA…

k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案

文章目录 OpenKruise简介OpenKruise来源OpenKruise是什么?核心组件有什么?有什么特性和优势?适用于什么场景? 什么是OpenKruise的原地升级原地升级的关键特性使用原地升级的组件原地升级的工作原理 应用环境一、OpenKruise部署1.安…

ssm宠物网站系统-计算机毕业设计源码07183

摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台。宠物网站每天都有大量的信息需要通过网络发布,为此,本人开发了一个基于B/S(浏览器/服务器)模式的宠物网站系统。 该系统以JJava编程语言、MySQL和SSM框…

基于 VITA57.1 标准的 2 收 2 发射频子卡(国产 ADRV9009子卡)

FMC159 是一款基于 VITA57.1 标准规范,实现 2 收 2 发的射频子模块,该板卡基于国产化 ADRV9009 射频收发器,涵盖了50MHz~6GHz 频段,并集成了双通道收发链路,发送最大实时带宽可到 450MHz,接收最大带宽可以到…

十进制、二进制、十六进制之间的相互转换

实验目的 实现int 、float 转换为字符串并显示 实现数字字符以二进制、十进制、十六进制显示 实现十进制、二进制、十六进制之间的相互转换 #include "numconvert.h" #include "ui_numconvert.h"NumConvert::NumConvert(QWidget *parent): QWidget(parent)…

C#特性-CallerMemberName、CallerFilePath和CallerLineNumber的介绍和应用

介绍 在csharp中,CallerMemberName, CallerFilePath, 和 CallerLineNumber 是编译时常量,它们是csharp 5.0引入的特性,用于提供有关调用堆栈的信息,通常用于日志记录和调试。这些特性可以自动填充方法的参数,无需显式…

软考初级网络管理员__网络单选题

1.观察交换机状态指示灯初步判断交换机故障,交换机运行中指示灯显示红色表示()。 警告 正常 待机 繁忙 2.通常测试网络连通性采用的命令是()。 Netstat Ping Msconfig Cmd 3.一台16端口的交换机可以产生()个冲突域? 1 4 15 16…