> 文档中心 > Python零基础入门篇 - 14 - Python中的元组

Python零基础入门篇 - 14 - Python中的元组


前言
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的养了一只哈士奇)
📑 个人主页:渴望力量的哈士奇主页
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥 如果感觉博主的文章还不错的话,还请不吝👍关注、点赞、收藏三连支持👍一下博主哦
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬

📕系列专栏::
               👍 Python全栈系列 - [更新中]    ➡️➡️➡️ 【 本文在该系列】
               👋 网安之路系列
​                       🍋 网安之路踩坑篇
​                       🍋 网安知识扫盲篇
​                       🍋 Vulhub 漏洞复现篇
​                       🍋 Shell脚本编程篇
​                       🍋 Web攻防篇  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                       🍋 渗透工具使用集锦  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                       🍹 测试神器 - Charles 篇
​                       🍹 测试神器 - Fiddler 篇
​                       🍹 测试神器 - Jmeter 篇
​                       🍹 自动化 - RobotFrameWork 系列
​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
                       🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化
​                🤗 2019年之前学习Python留下的乱七八糟系列

                                                                                  🎉🎉欢迎持续关注🎉🎉

Python零基础入门篇 - 14 - Python中的元组

文章目录

    • 什么是元组
    • 元组的定义与创建
    • 元组与列表的区别
      • 修改列表示例
      • 修改元组示例
      • 特殊的元组
      • 元组的简写
    • 元组的类型
    • in、max、min 在列表中的使用
      • 关键字 in
      • max(元组) 函数
      • min(元组) 函数
      • index(item) 方法

什么是元组

元组是一个和列表和相似的数据类型,两者拥有着基本相同的特性,但是也有很多不同的地方。

  • 元组与列表一样,都是一种可以存储多种数据结构的队列
  • 同样的元组也是一个有序的,且元素可以重复的集合

元组的定义与创建

  • 在 Python 中,tuple 代表着元组这一类型,也可以用它定义一个元祖
  • 在 Python 中,元组是一个无限制长度的数据结构
  • 在 Python 中,元组中的元素存在于一个 () 小括号内,如 name = tuple('lily', 'jack')

元组与列表的区别

  • 元组比列表占用的资源更小
  • 列表创建后,可以进行修改
  • 元组创建后,不能进行修改

修改列表示例

修改列表的示例如下:

>>> x = [1, 2, 3]>>> x[0] = 11>>> x[11, 2, 3]
  • 在第 1 行,创建了列表 x
  • 在第 2 行,修改列表 x 的第 0 项元素
  • 在第 3 行,显示修改后的列表
  • 在第 4 行,结果表示修改成功了

修改元组示例

修改元组的示例如下:

>>> y = (1, 2, 3)>>> y[0] = 11Traceback (most recent call last):  File "", line 1, in <module>TypeError: 'tuple' object does not support item assignment>>> y(1, 2, 3)
  • 在第 1 行,创建了元组 y
  • 在第 2 行,修改元组 y 的第 0 项元素
  • 在第 3 行,提示出现 TypeError,因为 ‘tuple’ object does not support item assignment,所以无法修改
  • 在第 6 行,显示元组 y
  • 在第 7 行,结果表示元组 y 没有被修改

特殊的元组

如果一个元组没有包含任何元素,使用 () 表示一个空元组,例子如下:

>>> t = ()>>> t()

如果一个元组只包含了一个元素 item,需要在元素后加一个逗号,使用 (item, ) 表示该元组,例子如下:

>>> t = (123, )>>> t(123,)

注意,(123, ) 和 (123) 两者表示不同的含义

  • (123, ) 表示的是一个元组,元组中包含一个整数 123
  • (123) 表示的是一个带括号的表达式,整数 123 嵌入括号中

两者是不相同的,示例如下:

>>> t = (123, )>>> i = (123)>>> t == 123False>>> i == 123True
  • 在第 3 行,将元组(123,) 与整数 123 比较,结果为假
  • 在第 5 行,将表达式(123) 与整数 123 比较,结果为真

元组的简写

当元组作在赋值操作符 = 的右边时,可以省略括号,示例如下:

>>> t = 123, 456>>> t(123, 456)>>> x = 123,>>> x(123, )
  • 在第 1 行,创建了元组 (123, 456)
  • 在第 4 行,创建了元组 (123,)

元组的类型

str_tuple = ('name', 'age', ' ', '')int_tuple = (1, 10, 22, 34, 66, 100)float_tuple = (1.1, 3.14, 6.58, 8.88)bool_tuple = (False, True, False)none_tuple = (None, None, None)tuple_tuple = ((1, 2, 3), (1.4, 3.1415926, 6.88))list_tuple = ([123, 456], [789, 520])    # 这里需要注意的是,list是可变的,但是当列表成为了元组的成员之后,就是不可变的了

in、max、min 在列表中的使用

关键字 in

通过关键字 in 检查元组中是否包含指定元素,示例如下:

>>> 'lily' in ["lily", "jack", "hanmeimei"]True>>> 'neo' in ["lily", "jack", "hanmeimei"]False
  • 在第 1 行,检测字符串 ‘lily’ 在元组中
  • 在第 3 行,检测字符串 ‘neo’ 不在元组中

max(元组) 函数

使用函数 max 获取元组中最大的元素,示例如下:

>>> max((1, 2))2>>> max((1, 3, 2))3

min(元组) 函数

使用函数 min 获取元组中最小的元素,示例如下:

>>> min((1, 2))1>>> min((1, 3, 2))1

index(item) 方法

因为元组不能修改,所以针对 列表 进行修改的常用方法在 元组 上就不可以使用,但是 index(item) 方法 可以使用;

index(item) 方法在元组中查找指定元素 item,如果找到元素 item,则返回元素 item 的索引;如果找不到,则抛出异常。示例如下:

>>> x = ('lily', 'neo', 'hanmeimei')>>> x.index('lily')1>>> x.index('jack')# >>> 执行结果如下:# >>> Traceback (most recent call last):# >>>   File "", line 1, in # >>> ValueError: 'hehe' is not in tuple
  • 在第 2 行,在元组中使用 index 方法查找元素 ‘lily’
  • 在第 3 行,显示元素 ‘lily’ 在元组中的索引是 1
  • 在第 4 行,在元组中使用 index 方法查找元素 ‘jack’
  • 在第 5 行,因为元组中没有包含元素 ‘jack’ ,显示错误 “ValueError: ‘mooc’ is not in tuple”

一定要注意元组和列表的不同之处,元组一般适合用来存储不变的数据。