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

    文章

    521

    浏览量

    22808
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    Python调用API教程

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

    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

    python入门圣经-高清电子书(建议下载)

    此资料内容是一本针对所有层次的Python 读者而作的Python 入门电子书。 全书分两部分:第一部分介绍Python 编程所必须了解的基本概念,包括matplotlib、NumP
    发表于 04-10 16:53

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是
    的头像 发表于 03-25 09:27 1510次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    如何将python文件导入到ROS系统中

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统中。
    的头像 发表于 02-11 11:08 1191次阅读
    如何将<b class='flag-5'>python</b>文件导入到ROS系统中

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    Python Connector for InterBase连接解决方案

    适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
    的头像 发表于 01-22 14:34 701次阅读

    谁能详细介绍一下track-and-hold

    在运放和ADC芯片的数据手册中经常看到track-and-hold,谁能详细介绍一下track-and-hold?
    发表于 01-20 09:10

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2200次阅读

    Flexus 云服务器 X:Python 安装的极致便捷之旅

    配置和环境设置方面,可能会遇到各种挑战。为了帮助开发者更高效地使用 Flexus 云服务器 X,本文将详细介绍如何在 Flexus 云服务器 X 上安装 Python,并突出其便捷性。 一
    的头像 发表于 01-07 17:00 545次阅读
    Flexus 云服务器 X:<b class='flag-5'>Python</b> 安装的极致便捷之旅