0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python元组的详细介绍

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-02-22 15:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

python元组

元组(英文名 tuple),和列表非常的相似,它也是由一系列元素按顺序进行排列而成的容器。

不同的是,元组是不可变的,而列表是可变的。

1. 创建元组

创建元组有三种方法

第一种方法:直接使用 圆括号 将所有的元素进行包围。这有别于创建列表时使用的是中括号:[]

>>> atuple = (1,2,3,4)
>>> atuple
(1, 2, 3, 4)

第二种方法:有时候,创建元组时,圆括号可有可无的。

>>> btuple = 1,2,3,4
>>> btuple
(1, 2, 3, 4)

第三种方法:使用元组推导式,由于元组是不可变的,所以生成一个生成器对象。这一种对于新手来说可能会比较难以理解,我会放在后面专门进行讲解,这里先作了解,新手可直接跳过。

>>> ctuple = (i for i in range(1,6))
>>> ctuple
 at 0x10a288f90>

上面三种方法介绍完毕~

你以为就这么简单?

当你在创建只有一个元素的元组时,你有可能会这样子创建

>>> ctuple = (1)
>>> type(ctuple)

>>> ctuple
1
>>>

却发现,创建出来的并不是 tuple,而是一个 int 对象。

此时千万要记住,当你创建只包含一个元素的元组时,要在第一个元素后面加一个逗号

>>> ctuple = (1,)
>>> type(ctuple)

>>> ctuple
(1,)
>>>
>>> dtuple = 1,
>>> type(dtuple)

>>> dtuple
(1,)

另外,创建空元组可以这样

>>> a = tuple()  # 第一种方法
>>> a
()
>>> type(a)

>>> b = ()  # 第二种方法
>>> b
()
>>> type(b)

2. 增删改查

最前面我们说过,元组是不可变的。因此,你想对元组进行修改的行为都是不被允许的。

呐,看一下示例,查看元素可以,但是修改元素和删除元素都报错了。

>>> atuple = (1,2,3,4)
>>> atuple[0]   # 查看元素
1
>>> atuple[0] = 0
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment
  >>>
  >>> del atuple[0]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object doesn't support item deletion

新增元素呢?当然同样也是不支持的,这里不再演示。

3. 元组与列表的转换

虽然元组可能看起来与列表很像,但它们通常是在不同的场景被使用,并且有着不同的用途。

元组是 immutable (不可变的),其序列通常包含不同种类的元素,并且通过解包或者索引来访问(如果是 namedtuples 的话甚至还可以通过属性访问)。

列表是 mutable (可变的),并且列表中的元素一般是同种类型的,并且通过迭代访问。

那有办法可以实现二者的转换吗?

当然有,而且非常简单。

将元组转成列表

>>> atuple = (1,2,3,4)
>>> type(atuple)

>>>
>>>
>>> list(atuple)
[1, 2, 3, 4]

将列表转成元组

>>> alist = [1,2,3,4]
>>> type(alist)

>>>
>>>
>>> tuple(alist)
(1, 2, 3, 4)

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 容器
    +关注

    关注

    0

    文章

    543

    浏览量

    23065
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90465
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一个
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    摘要 VirtualLab Fusion允许Python外部访问其建模技术、求解器和结果。这个用例介绍了一种使用路径变量和Visual Studio代码将Python连接到VirtualLab
    发表于 03-31 09:39

    [VirtualLab] 使用Python进行跨平台参数扫描

    摘要 VirtualLab Fusion允许外部访问其建模技术、求解器和结果。这有助于应用其他数据处理或优化工具来进一步研究光学模拟。在本示例中,我们演示如何使用Python脚本运行参数扫描,以及
    发表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    Fedora 并确保 VisionFive 已连接到互联网。有关详细说明,请参阅通过以太网使用 SSH或使用 USB 转串行转换器部分中的VisionFive 单板计算机快速入门指南. 执行pip命令
    发表于 03-30 08:28

    Python运行本地Web服务并实现远程访问

    本文介绍使用Python搭建本地Web服务并结合 ZeroNews 实现公网访问。
    的头像 发表于 02-06 11:39 461次阅读
    <b class='flag-5'>Python</b>运行本地Web服务并实现远程访问

    能否详细介绍一下MOSFET在电机控制中的作用是什么?

    能否详细介绍一下MOSFET在电机控制中的作用?
    发表于 12-22 13:11

    没有专利的opencv-python 版本

    所有 官方发布的 opencv-python 核心版本(无 contrib 扩展)都无专利风险——专利问题仅存在于 opencv-contrib-python 扩展模块中的少数算法(如早期 SIFT
    发表于 12-13 12:37

    CIE全国RISC-V创新应用大赛 人脸识别系统介绍与移植

    上遇到了一些曲折。本项目移植主要难点就在这方面,下面详细介绍移植insightface的过程。 一、环境安装流程(解决编译与版本冲突问题) 1.1 安装系统级编译依赖 解决scipy
    发表于 11-08 11:19

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP
    的头像 发表于 11-03 09:15 1292次阅读

    termux调试python猜数字游戏

    用termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    termux如何搭建python游戏 Termux搭建Python游戏开发环境的完整指南 一、Termux基础环境准备 Termux是一款无需root即可在安卓设备上运行的Linux终端
    发表于 08-29 07:06

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    基础篇3:掌握Python中的条件语句与循环

    : print(\"你还很小。\") 循环 循环允许程序重复执行一段代码,直到满足某个条件为止。Python中有几种不同的循环结构。 for循环 for循环通常用于遍历序列(如列表、元组
    发表于 07-03 16:13

    目前Mirco Python sdk触摸到底支持什么驱动啊 ?

    目前的Mirco Python sdk触摸到底支持什么驱动啊 能不能有资料详细说明 GT911 触摸驱动是否支持啊
    发表于 06-24 07:02

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 06-03 16:10