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

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

3天内不再提示

Python基础数据类型—tuple浅析

电子设计 来源:电子设计 作者:电子设计 2020-12-24 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Python中tuple的使用

一、什么是元组?

有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

二、用法

1. tuple元组的定义

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。示例如下:

tup1 = ('361way', 'com', 1997, 2000)print(type(tup1))

tup2 = (1, 2, 3, 4, 5)

tup3 = "a", "b", "c", "d"

print(type(tup3))

这里通过tup3可以看出,其并没有用小括号进行包括,但其也是元组。所以需要记住:任意无符号的对象,以逗号隔开,默认为元组 。另外需要特别注意只有一个元素时元组的创建:

tup1 = (111)print(type(tup1))

tup1 = ("abc")print(type(tup1))

tup1 = ("abc",)print(type(tup1))

元组中只包含一个元素时,需要在元素后面添加逗号,否则就会是int 或 string 等其他数据类型。如果只是创建一个空元组时,则不受逗号的影响:

tup1 = ()print(type(tup1))

2. 元组的索引与切片

同字符串、列表类型一样,元组也支持索引与切片 。而且用法也相同,

下面结合示例查看下:

tup1 = ('361way', 'com', 2013, 2014)print(tup1[0])
print(tup1[4]) #取值超出其索引范围时报错
tup2 = (1, 2, 3, 4, 5, 6, 7)print(tup2[1:5])

由上面的结果可以看出,取出元组的单个元素数据时,得到的是该数据原来的类型 ; 取出其一段元素值时得到的仍是元组。

3. 修改元组的值

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组,如下实例:

tup1 = ('361way', 'com', 2013, 2014)del tup1[3] # 删除单个元素,报错

tup1[3] = 'abc' # 更改一个元素的值,报错print(tup1[3])

del tup1 # 删除整个元组,正常print(tup1)

在实际应用中,有时候会遇到需要修改元组的值,那怎么办呢?可以通过一个变通的方法实现。

示例如下:

tup1 = ('361way', 'com', 2013, 2014)list1 = list(tup1)print(list1)

list1[3] = 'change'print(list1)

tup1 = tuple(list1)print(tup1)

可以将tuple元组的值先通过list转化为列表,再对列表内的值进行修改,修改为再将list转化为tuple 。

不过这里需要注意的是此时的tup1已经非彼tup1,具体可以通过id函数进行查看,发现其内存地址已经发生了变化。

三、总结

本文基于Python基础,主要介绍了Python基础中tuple元组的使用,对于tuple的用法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。

tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

最后,希望可以帮助大家更好的学习Python。

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

    关注

    7

    文章

    528

    浏览量

    45461
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    组态屏变量地址映射 / 数据类型不匹配解决方法

    在工业自动化领域,组态屏作为人机交互的核心设备,其与控制器(如PLC、单片机)之间的数据交换依赖于准确的变量地址映射与数据类型匹配。然而,实际工程中,因地址规划混乱或数据类型不一致导致的显示异常
    的头像 发表于 04-22 10:41 94次阅读
    组态屏变量地址映射 / <b class='flag-5'>数据类型</b>不匹配解决方法

    基于凌羽派的OpenHarmony北向应用开发:ArkTS语法-数据类型和变量声明

    可以在程序执行期间具有不同的值。使用TS风格,声明的时候使用冒号给出数据类型。 let hi: string = \'hello\'; let num: number = 0; 2.2 常量声明
    发表于 02-26 14:24

    1688 商品详情 API 调用与数据解析 Python 实战

    你想要的是 1688 商品详情 API 的 Python 调用与数据解析实战方案,核心是完成 API 凭证配置、接口请求(含签名)、响应数据解析、异常处理 的全流程落地,我会提供可直接运行的代码,并
    的头像 发表于 02-10 11:23 384次阅读

    如何使用Python读取不间断数据,并将其传输到LabVIEW进行处理?

    使用Python读取Count,如何将读取到的数据传输至Labview;传输过程中Python要保持读取的动作,不能停止。
    发表于 01-23 11:09

    睿远研究院丨IO-Link规范解读(十五):数据类型详解

    前言 本篇对IO-Link规范的附录F的数据类型做个详细解释,附录定义了  基本数据类型 (Basic Data Types) 和  组合数据类型 (Composite Data Types),并
    的头像 发表于 01-14 18:25 5985次阅读
    睿远研究院丨IO-Link规范解读(十五):<b class='flag-5'>数据类型</b>详解

    LabVIEW 变体:万能数据容器的艺术

    在LabVIEW的丰富数据类型体系中,变体(Variant)是一种极具灵活性的通用数据类型,其核心价值在于能够兼容并封装LabVIEW中的所有其他数据类型(包括标量、数组、簇、波形等),并支持
    发表于 01-05 11:06

    枚举类型的讲解

    枚举是一个基本的数据类型,它可以让数据更简洁。 如果写一个判断星期的文章,我们当然可以使用宏定义来使代码更加易懂,不过: #define MON 1 #define TUE 2
    发表于 12-08 08:14

    电能质量在线监测装置支持的数据推送频率是多少?

    电能质量在线监测装置的数据推送频率 可灵活配置 ,根据数据类型(稳态 / 暂态 / 事件)和应用场景(电网关口 / 工业用户 / 新能源并网)的不同, 覆盖从毫秒级到小时级的广泛范围 ,主流装置支持
    的头像 发表于 12-05 15:07 548次阅读
    电能质量在线监测装置支持的<b class='flag-5'>数据</b>推送频率是多少?

    C语言自动类型转换

    一、自动类型转换 数据类型存在自动转换的情况. 自动转换发生在不同数据类型运算时,在编译的时候自动完成。 char类型数据转换为int
    发表于 11-25 08:04

    C语言强制类型转换

    强制类型转换是通过定义类型转换运算来实现的。其一般形式为: (数据类型) (表达式) 其作用是把表达式的运算结果强制转换成类型说明符所表示的类型
    发表于 11-24 06:32

    内存与数据处理优化艺术

    ,避免了数组索引的额外计算。 选择合适的数据类型同样重要。如果一个变量只需要表示0或1,使用最小所需的数据类型就比使用较大的类型更好,因为它占用内存更少,可能提高缓存利用率。 对于浮点运算,在不需要
    发表于 11-14 07:46

    【HZ-T536开发板免费体验】4、使用蓝牙模块读取小米温湿度计的数据

    /ble_monitor/tree/master 这里面有非常多的设备类型,可以学习不同的设备的数据包和设备、数据类型结构 运行测试,可以看到,能准确获取到小米温湿度传感器的数据
    发表于 08-25 22:16

    SQL 通用数据类型

    SQL 通用数据类型 数据库表中的每个列都要求有名称和数据类型。Each column in a database table is required to have a name and a
    的头像 发表于 08-18 09:46 853次阅读

    IEC101协议可以传输什么类型数据

    IEC101协议作为电力系统远动通信的核心标准,其核心能力在于支持多种类型数据的传输,满足调度端与场站端(如变电站、发电厂)的实时监控、控制及状态感知需求。以下从数据类型、传输模式及典型应用场景三个
    的头像 发表于 05-21 11:37 1221次阅读

    详解Prometheus的数据类型

    对于 Prometheus 生态的监控系统,PromQL 是必备技能,本文着重点讲解这个查询语言,掺杂一些生产实践场景,希望对你有所帮助。
    的头像 发表于 05-13 09:50 1585次阅读
    详解Prometheus的<b class='flag-5'>数据类型</b>