Python入门教程+项目实战-11.3节: 元组的操作方法

news2024/11/18 21:40:42

目录

11.3.1 元组的常用操作方法

11.3.2 元组的查找

11.3.3 知识要点

11.3.4 系统学习python


11.3.1 元组的常用操作方法

元组类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,着重介绍元组类型的操作方法。

元组是一种不可变的数据类型,不可以元组执行修改等操作,在元组中提供的方法主要是对元素进行查找。列表是一种可变的数据类型,可以通过操作符[]对列表中的元素进行修改,在11.4节中会详细介绍元组与列表的区别。

对元组执行切片,加法等操作,返回的是一个新的元组,并没有对元组进行修改。

11.3.2 元组的查找

(1) tuple.index(value, start=0, stop=2147483647)

函数说明

查找元素value在元组中的索引。start表示查找的起始位置,stop表示查找的结束位置(闭区间,不包括stop)。start的默认值为0,stop的默认值为2147483647。

元素不存在时会抛出异常,在执行index方法时,可以先用in操作符判断元素是否在元组中。

代码实例:

Python

# __desc__ = 执行index方法来查找元素的索引
 
stars = ("王祖贤", "李嘉欣", "陈法蓉")
index = stars.index("王祖贤") 
# index的输出为0
 
index = stars.index("吴君如") 
# 执行上文的代码时抛出异常
# 可以先执行in操作符来进行判断
 
if "吴君如" in stars:
  index = stars.index("吴君如") 
 
# 像这类型的简单条件判断,可以使用三目运算符
index = stars.index("吴君如") if "吴君如" in stars else -1

通过循环结构来实现index方法的功能:

Python

# __desc__ = 在循环中进行元素值匹配,并记录当前的索引位置
 
stars = ("王祖贤", "李嘉欣", "陈法蓉")
star = "王大拿"
 
# 定义index变量来保存元素的索引,初始值为0
# 同学们可以思考下,为什么初始值设置为0,而不是其它的数字
index = 0
 
for _ in stars:
  if star == _:
        break
  index += 1
else:
  # 如果循环正常退出,说明元素不存在
  index = -1

(2) tuple.count(value)

函数说明:

查找查找元素值value在列表中的数目,元素值value不存在时,返回0。

代码实例:

Python

# __desc__ = 执行count方法来查找元素的数目
 
stars = ("王祖贤", "李嘉欣", "陈法蓉")
count = stars.count("王祖贤") 
# count的输出为1
 
count = stars.count("吴君如") 
# count 的输出为0

同样可以通过循环结构来实现元组类型count方法的功能:

Python

# __desc__ = 在循环中进行元素值匹配
 
# 在stars中,包含王祖贤的两个替身
stars = ("王祖贤", "李嘉欣", "陈法蓉", "王祖贤", "王祖贤")
star = "王祖贤"
 
# 定义count变量来保存元素的数目,初始值为0
count = 0
 
for _ in stars:
  if star == _:
    # 如果相等,则对count指向的值加一
    count += 1
else:
  print(count)

迄今为止,我们是在循环结构中通过遍历的方式来进行元素查找,在数据量大的情况下,查找的效率会很低下。在介绍函数处理时,会讲解如何通过二分查找来提高数据的查找效率。

11.3.3 知识要点

(1) 元组是一种静态的数据类型,不可以元组执行修改等操作,在元组中提供的方法主要是对元素进行查找。

(2) 列表是一种动态的数据类型,可以通过操作符[]对列表中的元素进行修改

11.3.4 系统学习python

薯条老师简介:资深技术专家,技术作家,著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客:http://www.chipscoco.com, 系统学习后端,爬虫,数据分析,机器学习、量化投资。

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

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

相关文章

hive udf, tried to access method org.bouncycastle.math.ec.ECPoint$AbstractFp

在hive中添加加密udf,测试报错: select encrypt_sm2("aa","04AD9356466C7A505B3B2E18F2484E1F096108FA19C0F61C707A808EDF7C132BC3CE33E63D2CC6D77FB0A172004F8F5282CEADE22ED9628A02FE8FD85AF1EFE8B3"); Error: Error while compiling statem…

从0搭建Vue3组件库(九):VitePress 搭建部署组件库文档

VitePress 搭建组件库文档 当我们组件库完成的时候,一个详细的使用文档是必不可少的。本篇文章将介绍如何使用 VitePress 快速搭建一个组件库文档站点并部署到GitHub上 安装 首先新建 site 文件夹,并执行pnpm init,然后安装vitepress和vue pnpm install -D vitepress vue安…

什么是分库分表?为什么需要分表?什么时候分库分表

不急于上手实战 ShardingSphere 框架,先来复习下分库分表的基础概念,技术名词大多晦涩难懂,不要死记硬背理解最重要,当你捅破那层窗户纸,发现其实它也就那么回事。 什么是分库分表 分库分表是在海量数据下&#xff0…

“星河杯”隐私计算大赛新闻发布会在京召开

4月24日下午,“星河杯”隐私计算大赛新闻发布会在京召开。本次大赛由中国信通院、中国通信学会、隐私计算联盟共同主办,中移动信息技术有限公司、联通数字科技有限公司、天翼电子商务有限公司、中国通信标准化协会大数据技术标准推进委员会联合协办&…

微信小程序 | 基于高德地图+ChatGPT实现旅游规划小程序

🎈🎈效果预览🎈🎈 ❤ 路劲规划 ❤ 功能总览 ❤ ChatGPT交互 一、需求背景 五一假期即即将到来,在大家都阳过之后,截止到目前这应该是最安全的一个假期。所以出去旅游想必是大多数人的选择。 然后&#x…

Activity中startForResult的原理分析

前言: 如果使用androidX支持库中的ComponentActivity,会推荐使用registerForActivityResult的方式。但是对于不支持androidX的项目,或者就是继承自Activity的页面来说,startActivityForResult仍然是唯一的选择。 如果想了解andr…

虹科教您 | 虹科RELY-TSN-KIT操作指南(3)——基于Linux系统进行TSN协议测试

随着技术的变革和实际生产业务需求的推动,工厂内部互联架构逐渐趋于扁平化(IT/OT融合),而TSN则是在这一背景下发展起来的新兴技术,旨在为以太网协议建立“通用”的时间敏感机制,以确保网络数据传输的时间确…

云计算服务安全评估办法

云计算服务安全评估办法 2019-07-22 14:46 来源: 网信办网站【字体:大 中 小】打印 国家互联网信息办公室 国家发展和改革委员会 工业和信息化部 财政部关于发布《云计算服务安全评估办法》的公告 2019年 第2号 为提高党政机关、关键信息基础设施运营者…

鸿蒙系统是什么?鸿蒙与开源鸿蒙的关系?鸿蒙系统的发展历程

鸿蒙OS分布式操作系统简介鸿蒙系统(HarmonyOS),是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。现被华为捐献给开放原子基金会管理,为开放原子基金会下的一个项目。 从 系统定位 上来说,HarmonyOS是一…

explain都不懂?搞什么数据库优化,快进来学习了

文章目录 一、 前言二、MySQL EXPLAIN实战三、mysql EXPLAIN输出结果详解3.1 id详解3.2 select_type3.3 table3.4 partitions3.5 type3.6 possible_keys3.7key3.8 key_len3.9 ref3.10 rows3.11 filtered3.12 Extra 一、 前言 EXPLAIN 想必用过mysql的小伙伴都听过,…

PWM 呼吸灯实验

PWM 呼吸灯实验 FPGA实现一个PWM模块(硬件)来控制灯的亮灭。 实验原理 PWM本质上就是一个输出脉冲的硬件,通过改变一个周期高电平(占空比)的时间来对其他的硬件进行控制,比如电机。 呼吸灯的实现利用了人…

谈谈如何用开源网关进行 API 管理

需求痛点 1.企业不清楚到底有多少个API,无法形成API资产管理等问题。 2.API在不同集群的生命周期问题。 3.API运行状态监控和告警问题。 4.API请求限流、流量控制以及安全等问题。 功能介绍 Apinto的API管理提供API生命周期控制:可管理所有API&…

Cortex-R52 GIC:Generic Interrupt Controller(一)

ARM Cortex-R52 GIC:Generic Interrupt Controller 1.关于GIC 1.1 GIC Overview ARM的中断控制器被称为GIC(Generic Interrupt Controller),GIC是支持和管理系统中断的资源的模块。它支持中断优先级、中断路由到CPU或输出端口、中断抢占和中断虚拟化等功能。 中断…

深入浅出Rust核心概念:生命周期

简介 Rust是一种快速、安全、并发的系统级编程语言,它的设计目标是提供一种高效、内存安全的编程方式。而生命周期(Lifetime)是Rust语言中的一个核心概念,它与内存管理、函数传参和引用操作等方面密切相关。LZ将详细介绍Rust中生…

GitHub 开启 2FA 双重身份验证的方法

为什么要开启 2FA 自2023年3月13日起,我们登录 GitHub 都会看到一个要求 Enable 2FA 的重要提示,具体如下: GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on Git…

Matplotlib 轴标签和标题

我们可以使用 xlabel() 和 ylabel() 方法来设置 x 轴和 y 轴的标签。 实例 import numpy as np import matplotlib.pyplot as pltx np.array([1, 2, 3, 4]) y np.array([1, 4, 9, 16]) plt.plot(x, y)plt.xlabel("x - label") plt.ylabel("y - label")…

Java BIO

1.Java BIO(Blocking IO:同步并阻塞式IO)编程 1.1.基本介绍 1>.Java BIO就是传统的java io编程,其相关的类和接口在"java.io"包下; 2>.BIO(Blocking I/O): 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处…

深入分析,Redis为什么这么快?

我们都知道Redis很快,它QPS可达10万(每秒请求数) Redis为什么这么快? 基于内存实现高效的数据结构合理的数据编码合理的线程模型虚拟内存机制 基于内存实现 我们都知道内存读写是比磁盘读写快很多的。Redis是基于内存存储实现的…

电磁兼容原理、方法及设计的科普好文

什么是电磁兼容 电磁兼容性(EMC)是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。因此,EMC包括两个方面的要求:一方面是指设备在正常运行过程中对所在环境产生的电磁干扰不能超…

操作系统之调度

目录 什么是调度 进程调度的时机、切换、过程与方式 调度器/调度程序 调度算法 先来先服务算法 短作业优先算法 高响应比优先算法 时间片轮转算法 优先级调度算法 多级反馈队列调度算法 什么是调度 调度的三个层次 高级调度 中级调度 低级调度 总结如下: …