Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第十一章: Python元组类型 > 11.2节: 元组的操作符

11.2节: 元组的操作符

薯条老师 2020-05-12 15:26:54 233155 4

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

11.2.1 元组的常用操作符

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

image.png

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

image.png

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

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

操作语法:
element = tuple[index]
元组与字符串均为静态的数据类型,只能通过索引来读取字符,不能对字符进行修改。而列表类型可以通过索引来对元素进行修改。

Python中的索引分为正索引和负索引。正索引从0开始进行编号,表示数据集合中的第一个元素。负索引从-1开始编号,表示数据集合中的倒数第一个元素。正负索引值必须在有效的范围之内,否则会抛出越界访问的错误信息。对此不熟悉的同学,可以复习9.2节中的内容。
代码实例:
# __desc__ = 通过索引来访问元组中的元素
 
numbers = (1,2,3,4)
 
# 1.读取元组中的第一个元素
first_number = numbers[0]
 
# 2.读取元组中的最后一个元素
last_number = numbers[-1]

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

切边操作语法同字符串的切片操作。对此不是很熟悉的同学,请复习9.2节中的内容。对元组执行切片操作的以后,返回的是一个新的元组。
操作语法:
new_tuple = tuple[:]
代码实例:
# __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 +操作符:元组的加法

元组的加法是把两个元组中的元素合并到一个新的元组中。
操作语法:
new_tuple = tuple0 + tuple1
代码实例:
# __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  *操作符:元组的乘法

"*" 操作符用来对元组进行重复输出,返回一个新的列表。
操作语法:
new_tuple = tuple * number
参数number必须为整型数字。
代码实例:
# __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 元组的关系运算

使用关系运算符来对元组进行关系运算,返回的结果为布尔类型。元组的关系运算同列表的关系运算。
操作语法:
boolean = tuple0 > tuple1
代码实例:
# __desc__ = 对元组执行关系运算
 
left = (1,3,99)
right = (2)
 
result = left > right
# result的输出为False

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

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

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

# __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。
操作语法:
boolean = element in tuple
表示是否不存在时,需通过逻辑非运算符:
boolean = element not in tuple
代码实例:
# __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和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:


已有4位薯条发表了看法:

  • 访客

    访客  评论于 2020-06-02 10:51:45  回复

    谢谢老师的解读,通途易懂

  • 访客

    访客  评论于 2020-12-23 16:50:07  回复

    11.2.7 in操作符:查找元素
    format参数错误,第二个参数应该为natural_numbers

  • 访客

    访客  评论于 2020-12-23 16:50:18  回复

    11.2.7 in操作符:查找元素
    format参数错误,第二个参数应该为natural_numbers

欢迎 发表评论: