Python3的tuple类型 - vip共享吧
  • 网站首页
  • IT技术笔记
    • Java教程
    • MySql数据库
    • PHP开发
    • Python教程
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 史上今日
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们


导航菜单
  • 网站首页
  • IT技术笔记
    • Java教程
    • MySql数据库
    • PHP开发
    • Python教程
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 史上今日
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们
Python

Python3的tuple类型

2024/9/6 韩俊  Python教程 563 0

在我们现实世界中,存在一些不变的数据,比如身份证号,学号等等, 在程序里我们可以用 list 来存储一个班级里面所有学生的学号, 但 list 本身可以修改成员值,有可能在我们程序中不小心修改了 list 成员值导致业务逻辑错误,但在语法上并不存在问题,给程序员排查问题带来困难, 所以用 list 来存储学号并不能很好的描述现实世界,Python 提供了 tuple(元组) 数据类型来更好的描述这种现实世界的问题。

tuple 与 list 类似,也是一种有序的集合,不同之处在于 tuple 中的成员是不可改变的(不能添加新成员,不能删除已有的成员,不能修改里面的成员值)。

tuple 定义

元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加成员, 并使用逗号隔开即可。

students_id = (1001, 1002, 1003)
print(students_id)

如果要定义一个空的 tuple,可以写成 ()。 如果要定义只有 1 个成员的 tuple,不能写成 (x) ,要写成 (x,),因为 () 不但可以定义 tuple 类型,也可以作为运算符,比如 (1) 可以认为是对整数 1 做 () 运算,因为 () 的运算符优先级最高,Python 解释器会把 (1) 看作为对 1 做 () 运算。

tupleone = ()    # 空的 tuple
print(tupleone)

tupletwo = (1,)  # 一个成员的 tuple
print(tupletwo)

tupletwo = (1)   # int 类型的 1
print(tupletwo)

tuple 里面的成员不可修改,所以它没有 append,insert 等可以修改集合成员的函数,其它获取成员的函数和 list 相似,因为 tuple 不可变,所以代码更安全。如果可以,能用 tuple 代替 list 就尽量用 tuple。

深度剖析 tuple 内存模型

tuple 不可改变 ,也就是说 tuple 在刚开始定义的时候, 里面的成员就确定了,我们不能修改,添加,删除 tuple 成员, 但是如果 tuple 里面某个成员本身是可以改变的类型(比如 list), 我们可以改变这个变量成员本身内的值,注意:我们并没有改变 tuple 的成员,我们修改的是 tuple 成员中的成员。

mytuple = ("Hello", 250, [1, 2, 3])
mytuple[2][0] = "Python"   # 可以
print(mytuple)

我们分析以上代码每一步在内存中是如何表示的,对于第一行代码 mytuple = ("Hello", 250, [1, 2, 3]) 的内存模型。

对于第二行代码 mytuple[2][0] = "Python" 的内存模型。

通过上面对那两句代码的内存模型的图解析,我们可以清晰的看到无论是原来的 tuple ("Hello", 250, [1, 2, 3]) 还是后面的 tuple ("Hello", 250, ["Python", 2, 3]),对于 tuple 本身的成员来说并没有变化,还是那些地址值,只是 tuple 的第二个成员 [1, 2, 3] 里面的成员发生了变化, 所以并没有违背 tuple 的规则(tuple 成员不可改变)。

tuple 里面的成员是用逗号隔开的,每个成员可以是任何数据类型,无论该成员多么复杂,对 tuple 来说只是一个成员。

mytuple = ("Hello", 250, [1, 2, 3])
print(len(mytuple))  # 3

本节重要知识点

tuple 里面有一个成员的定义方法。

弄明白 tuple 的内存模型。

点赞:0 分享

上一篇
Python3的dict类型
下一篇
Python3的list类型
作者头像 作者名称 作者性别
韩俊

热门推荐

1 python3类和对象的概念
2 python3闭包函数
3 python中base64库详解
4 Python3的基本数据类型
5 Python中hashlib模块详解
6 Python3的if条件判断

评论列表

取消回复

    •  
      Login

      韩俊

      趁你现在还有时间,尽你自己最大的努力,努力做成你最想做的那件事,成为你最想成为的那种人,过着你最想过的那种生活。这个世界永远比你想的要更精彩,不要败给生活。

      退出登陆
      • 10358文章
      • 455评论
      • 80微语
  • 广告赞助

  • 二零二五年07月
    一二三四五六日
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
  • 分类

    • 网站模板源码
    • IT技术笔记
    • 好资源分享
    • 共享网络资源
  • 最新文章

      • 健身馆开张祝福语简短
        • 老师们新春祝福语简短
          • 高考加油祝福语简短
            • 老婆工作辛苦祝福语简短
              • 虎年祝福语简短创意
                • 文艺诗歌生日祝福语简短
                  • 大班毕业集体祝福语简短
                    • 姐妹蛋糕搞笑祝福语简短
  • 热门文章

    • 酷狗音乐VIP账号 酷狗音乐会员账号共享2017.01.29更新
    • 芒果tv vip会员账号 芒果tv会员账号共享2017.01.29更新
    • 爱奇艺vip账号 爱奇艺/PPS会员账号共享2016.12.12更新
    • 优酷/土豆vip会员账号 优酷会员账号共享2017.01.29更新
    • 活动:免费获得爱奇艺VIP/PPS会员账号50天以上的使用权!
    • 酷我音乐VIP账号 酷我音乐会员账号共享2016.12.31更新
    • 暴风影音会员账号 暴风影音会员账号共享2016.12.31更新
    • m1905会员账号 m1905会员账号共享2016.10.21更新
  • 最新评论

    • https://www.vipshare8.com/content/templates/meta/Static/images/tx/10.jpg

      你丫的 文章写得太好了 支持下!![F3...

    • https://www.vipshare8.com/content/templates/meta/Static/images/avatar.jpg

      很棒!刚在某网站看到这个,很欣赏,可惜下...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=3861064027

      呃呃呃 oooo

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了111:根据激活的时间有一年的有效期!

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=792480561

      到2025就到期了吗?

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      [blockquote]打卡时间:16:...

    • https://www.vipshare8.com/content/templates/meta/Static/images/tx/7.jpg

      俊哥,想借用迅雷一用!但需要手机验证!看...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=3293901900

      感谢大大的分享

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了好奥v:如果没有解析成功,可以切换接口...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=131241242441

      现在视频解析网站怎么用不了啦?

  • 网站统计 I 当前在线:135人

    • 本站管理:1位
    • 用户总数:593位
    • 置顶文章:2篇
    • 日志总数:10358篇
    • 微语总数:80条
    • 评论总数:455条
    • 标签总数:83条
    • 页面总数:8页
    • 分类总数:14个
    • 链接总数:16条
    • 运行天数:3745天
    • 最后更新:7月30日
    • 登录
    • 注册
    • 找回
    Copyright © 2025vip共享吧网站地图 网站备案豫ICP备19004194号-1

    免责声明:本站资源仅供用于学习和交流,本站部分素材内容来源于网络,如有侵权/投稿等,请及时联系站长.

    • 首页
    • 秒懂百科 秒懂百科
    • 搜索
    • 史上今日

    大家都在搜

    • 迅雷VIP账号共享
    • 返利网
    • JavaScript
    • 华数tv会员账号分享
    • 经典句子
    • 飞卢小说vip账号共享
    • Java教程
    • 酷我音乐VIP账号
    • 芒果视频
    • 全民娱乐
    • 起点账号共享
    • 酷狗会员账号共享
    • seo
    • 千图网vip账号共享
    • 网站源码
    • 咪咕会员账号共享
    • 
    • 