Python入门教程+项目实战-11.2节: 元组的操作符

news2024/11/26 16:29:09

目录

11.2.1 元组的常用操作符

11.2.2 []操作符: 索引访问元组

11.2.3 [:]操作符:元组的切片

11.2.4 +操作符:元组的加法

11.2.5 *操作符:元组的乘法

11.2.6 元组的关系运算

11.2.7 in操作符:查找元素

11.2.8 知识要点

11.2.9 系统学习python


11.2.1 元组的常用操作符

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

元组类型常用的操作符如下表所示:

11.2.2 []操作符: 索引访问元组

在9.2节的内容中介绍了如何通过索引来访问字符串中的字符。元组类型也是一种线性的序列结构,同字符串一样,可以通过索引来访问元组中的元素。

操作语法:

Python

element = tuple[index]

元组与字符串均为静态的数据类型,只能通过索引来读取字符,不能对字符进行修改。而列表类型可以通过索引来对元素进行修改。

Python中的索引分为正索引和负索引。正索引从0开始进行编号,表示数据集合中的第一个元素。负索引从-1开始编号,表示数据集合中的倒数第一个元素。正负索引值必须在有效的范围之内,否则会抛出越界访问的错误信息。对此不熟悉的同学,可以复习9.2节中的内容。

代码实例:

Python

# __desc__ = 通过索引来访问元组中的元素
 
numbers = (1,2,3,4)
 
# 1.读取元组中的第一个元素
first_number = numbers[0]
 
# 2.读取元组中的最后一个元素
last_number = numbers[-1]

11.2.3  [:]操作符:元组的切片

切边操作语法同字符串的切片操作。对此不是很熟悉的同学,请复习9.2节中的内容。对元组执行切片操作的以后,返回的是一个新的元组。

操作语法:

Python

new_tuple = tuple[:]

代码实例:

Python

# __desc__ = 对元组执行切片操作
 
# 定义元组类型变量
numbers = (1,2,3,4)
 
container = numbers[0:2]
# container的输出为(1,2)
 
container = numbers[:2]
# container的输出为(1,2)
 
container = numbers[2:]
# container的输出为(3,4)
 
container = numbers[-3:-1]
# container的输出为(2,3)

11.2.4 +操作符:元组的加法

元组的加法是把两个元组中的元素合并到一个新的元组中。

操作语法:

Python

new_tuple = tuple0 + tuple1

代码实例:

Python

# __desc__ = 对元组执行加法操作
 
# 定义变量negative_numbers表示负数
negative_numbers = (-1,-2,-3,-4)
 
# 定义变量 positive_numbers表示正数
positive_numbers = (1,2,3,4)
 
# 定义变量 natural_numbers表示自然数
natural_numbers =  negative_numbers + positive_numbers
# natural_numbers的输出为(-1,-2,-3,-4,1,2,3,4)

11.2.5  *操作符:元组的乘法

"*" 操作符用来对元组进行重复输出,返回一个新的列表。

操作语法:

Python

new_tuple = tuple * number

参数number必须为整型数字。

代码实例:

Python

# __desc__ = 对元组执行乘法操作
 
numbers = (-1,-2,-3)
new_numbers = numbers * 2
 
# new_numbers的输出为(-1,-2,-3, -1,-2,-3)

# *号后的整型值小于等于0时,输出空元组
empty = numbers * 0
# empty为空元组

11.2.6 元组的关系运算

使用关系运算符来对元组进行关系运算,返回的结果为布尔类型。元组的关系运算同列表的关系运算。

操作语法:

Python

boolean = tuple0 > tuple1

代码实例:

Python

# __desc__ = 对元组执行关系运算
 
left = (1,3,99)
right = (2)
 
result = left > right
# result的输出为False

元组的关系运算是按序进行比较的,这里的按序比较是从元组的第一个元素开始,逐元素进行比较。只有在元素值相同,顺序也相同的情况下,两个元组才相等,否则以元素先后的大小关系来确定元组的大小关系。

例如在上文的代码中,虽然列表right只有一个元素,但是right中的首元素大于列表left中的第一个元素。这时Python会直接判定元组right大于元组left,即使元组left后面的元素都比元组right中的元素大。

现在通过循环结构来判断两个元组是否相等:

Python

# __desc__ = 通过while循环来判断元组是否相等
 
left = (3,3,3,3,99,3)
right = (3,3,3,3,3,109)
 
# 执行全局的len方法来获取复合数据类型的元素数
length_of_left = len(left)
length_of_right = len(right)
 
length = length_of_left if length_of_left < length_of_right else length_of_right
index = 0
 
'''
定义is_equal变量,如果值为True表示相等,
如果为False,则表示不相等
'''
is_equal = True
 
# 以最小的元组长度来进行遍历
# 这样可以避免访问越界
while index < length:
  if left[index] != right[index]:
       is_equal = False
       break
  elif left[index] < right[index]:
       is_equal = False
       break 
  index += 1
else:
  # 如果正常退出while循环,说明在最小长度内,元组的元素都相等
  is_equal = False if length_of_left != length_of_right else True

11.2.7  in操作符:查找元素

使用 "in" 操作符来判断元素是否存在于元组中,若存在则返回值为布尔类型True,否则返回False。

操作语法:

Python

boolean = element in tuple

表示是否不存在时,需通过逻辑非运算符:

Python

boolean = element not in tuple

代码实例:

Python

# __desc__ = 通过in操作符来执行元素查找
 
natural_numbers = (1,2,3,4,5,6,7,8,9)
number = 99
 
if number in natural_numbers:
  # 如果number存在与列表中,那么表达的输出为True
  print("{} in numbers:{}".format(number, numbers))
else:
  print("there is no {} in numbers {}".format(number, numbers))

11.2.8 知识要点

(1)元组类型是一种线性的序列结构,可以通过索引来访问元组中的元素。

(2)元组与字符串都是一种静态的数据类型,只能通过索引来读取字符,不能对字符进行修改。列表类型可以通过索引来对元素进行修改。

(3)元组的关系运算是按序进行比较的,这里的按序比较是从元组的第一个元素开始,逐元素进行比较。只有在元素值相同,顺序也相同的情况下,两个元组才相等,否则以元素先后的大小关系来确定元组的大小关系。

11.2.9 系统学习python

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

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

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

相关文章

企业的信息化和数字化有什么区别

数字化是业务新的存在形式&#xff0c;如果说信息化是对业务的局部支撑&#xff0c;那么数字化就是对业务的整体重塑&#xff0c;这是数字化和信息化之间最大的区别&#xff0c;也决定了数字化转型在实施时有着与信息化建设完全不同的底层逻辑。信息化建设和数字化转型有着相同…

手把手教你编写SQLMap的Tamper脚本过狗

本文仅用于技术讨论与学习 测试环境 最新版某狗 测试方法 安全狗其实是比较好绕的WAF&#xff0c;绕过方法很多&#xff0c;但这里我们就用一种&#xff1a;注释混淆 一招鲜吃遍天 注释混淆&#xff0c;其实就是在敏感位置添加垃圾字符注释&#xff0c;常用的垃圾字符有/、…

关于Vue中使用全屏容器无法占满屏幕以及样式不生效问题解决方案

先来看示例问题 App.vue文件 global.css文件 网页效果 可以看到即使设置了宽度和高度为100%都无法占满屏幕&#xff0c;而且容器还超出了屏幕&#xff0c;上拉才可以看到下边框。查看网上解决方法&#xff1a; 1.height设置为100vh&#xff0c; 或者设置为calc&#xff08;10…

订单交期迟滞,销售回应慢,怎么解决客户问题?

按客户定制产品订单&#xff0c;进行报价和生产的制造企业&#xff0c;有拆解图纸生成物料BOM的工序&#xff0c;通常由企业产品设计部门的拆图员岗位专门负责。 手工制作BOM数据&#xff0c;准确性低 拆图员肉眼查看每页图纸中的表格数据&#xff0c;手动敲键盘填入到企业要…

判空、基本数据类型、stream的groupby、空指针异常

0什么是序列化 1 第一行、第二行就是一个空对象【一个对象的所有元素的值都为null–空对象】 第三行不是空对象&#xff0c;是元素为的对象 那么如何过滤第一行与第二行呢 方式一&#xff1a;在mysql里面 where ISNULL(t.relevance_id)0 and LENGTH(trim(t.relevance_id))&…

Docker Harbor | 私有仓库 | 用户登录 |用户创建

Docker Harbor | 私有仓库 |用户登录 |用户创建 一、Docker Harbor 概述二、Harbor 的核心组件四、Harbor 构建 Docker 私有仓库实战4.1 搭建本地私有仓库4.2 部署 Docker-Compose 服务4.3 启动harbor验证4.4 在其他客户端上传镜像4.5 维护管理Harbor 一、Docker Harbor 概述 …

【校招VIP】面试了一个抽奖的项目,我终于搞明白了,是8股文终于开始作恶了

最近因为招实习生&#xff0c;进行了很多次面试。 但面试的结果不尽人意。 就感觉今年的面试跟以前差距太大了。 直到经过这个同学的面试&#xff0c;我终于明白了是什么原因。 这个同学是南京一所211的研究生&#xff0c;他的项目经历是做了一个抽奖的微服务管理平台。 也…

JAVA 类型的类型转换

JAVA 类型的类型转换 一、基本类型的类型转换 箭头开始的地方是小类型,箭头指向的地方是大类型 我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦 1.1 小到大(隐式转换) byte m 120; int n m;//小转大,右面的m是小类型,给左面的n大…

【微服务笔记21】微服务组件之Sentinel服务熔断、服务降级、流量控制介绍

这篇文章&#xff0c;主要介绍微服务组件之Sentinel服务熔断、服务降级、流量控制。 目录 一、Sentinel组件 1.1、Sentinel介绍 1.2、Sentinel环境搭建 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;资源和规则 1.3、使用SphU定义资源 &#xff08;1&am…

LNMP网站框架搭建

1. Nginx的工作原理 php-fpm.conf 是控制php-fpm守护进程的 php.ini是php解析器 工作进程&#xff1a; 1.客户端通过域名进行请求访问时&#xff0c;会找Nginx对应的虚拟主机 2. Nginx对该请求进行判断&#xff0c;如果是静态请求,Nginx会自行处理&#xff0c;并将处理结果返…

微信小程序原生开发功能合集十三:列表界面的实现

本章实现列表展示组件,包括列表数据加载、筛选、分页加载、快速搜索等功能。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn.net/course/detail/379…

提交代码「前置处理」,向前一小步,效率提升「亿点点」

&#x1f4a1; 如何巧用 Git Hook&#xff0c;解决代码提交中的代码规范性、冲突和错误以及工作流程问题&#xff1f; 近日&#xff0c;在极狐Tech Talk 直播上&#xff0c;极狐(GitLab) 后端工程师田鲁分享了自己的实践经验。以下内容整理自本次直播&#xff0c;你也可以点击文…

Linux第二章

文章目录 前言一、Linux系统的目录结构和路径表达形式二、Linux命令基础1.ls命令入门2.ls命令的参数和选项3.-cd-pwd命令4.相对路径绝对路径和特殊路径符5.-mkdir命令6.-touch-cat-more-命令7.-cp-mv-rm-命令8.-which-find命令9.-grep-wc-管道符10.-echo-tail-重定向符11.-vi编…

Spring Boot自动装配

目录 是什么&#xff1f; 自动装配的原理 进入SpringBootApplication注解 点击进入EnableAutoConfiguration注解 AutoConfigurationImportSelector&#xff08;核心&#xff09; 点进getAutoConfigurationEntry()方法: 点进getCandidateConfigurations() 流程图 是什么&…

远程支持软件:轻松解决电脑问题!

远程协助不工作 当我们提到Windows的远程支持软件时&#xff0c;许多人的第一个想法可能是Windows远程协助。它可以通过发送和接收邀请文件连接两台电脑&#xff0c;然后您可以远程修复另一台电脑上的问题。但是&#xff0c;有时&#xff0c;您会遇到诸如“远程协助无法连接…

【FFTW库】编译生成 x86、arm 环境下的FFTW库

FFTW是一个快速计算离散傅里叶变换的标准C语言程序集&#xff0c;可计算一维或多维实和复数据以及任意规模的DFT。下面主要介绍的是 x86 环境下 FFTW库的编译过程&#xff0c;arm环境下的编译过程和FFTW类似&#xff0c;不同之处在于需要手动指定 编译环境 和 编译器。 FFTW有…

十大常见的电子元器件

电子元器件是电子技术中的基础组成部分&#xff0c;是电子电路的基本构件。电子元器件的种类繁多&#xff0c;但其中一些元器件的应用非常广泛&#xff0c;被称为十大最常用电子元器件。本文将介绍这些元器件的基础知识。 一、电阻器 电阻器是一种用来阻碍电流流动的元器件&a…

改善内部客户服务的 3 个技巧

在当今世界&#xff0c;许多公司都专注于改善客户关系管理&#xff0c;公司管理层面临的挑战是他们不仅拥有外部客户&#xff0c;员工也是有痛点和需求的内部客户。正如糟糕的客户服务会导致客户流失一样&#xff0c;糟糕的内部客户服务会增加员工流动率。在当今瞬息万变的就业…

C++98 auto_ptr智能指针

auto_ptr 是C98定义的智能指针模板,其定义了管理指针的对象,可以将new获得(直接或间接)的地址赋给这种对象.当对象过期时,其析构函数将使用delete来释放内存! 用法: 头文件: #include<memory> 用法: auto_ptr <类型> 变量名(new 类型); #include<iostream> …

算力为基,生态谋远,英特尔商用客户端的三重创新进化

“混合办公”仍旧是2023年全球企业IT管理者与“打工人”共同关注的热点话题。 比如根据携程最新公布的数据&#xff0c;过去一年内有超过66%的员工申请了混合办公对比试运行阶段&#xff0c;管理者对混合办公的支持率提升了10%。超九成管理者认为混合办公对效率无影响。调研数…