“可变”的tuple

前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:

>>> t = ('a', 'b', ['A', 'B'])

注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

>>> L = t[2]

然后,我们把list的两个元素改一改:

>>> L[0] = 'X'

>>> L[1] = 'Y'

再看看tuple的内容:

>>> t

('a', 'b', ['X', 'Y'])

不是说tuple一旦定义后就不可变了吗?怎么现在又变了?

别急,我们先看看定义的时候tuple包含的3个元素:

当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

python创建只包含一个元素的元组时_Python 创建包含列表的元组相关推荐

  1. python如何生成列表和元组数据_Python数据类型(列表和元组)

    1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索 ...

  2. python集合类型中的元素是有序的_Python基础-2-变量和数据类型(2)-列表、元组、字典、集合...

    # ************************************************** ## 3.列表# ************************************** ...

  3. 3.5链表----链表中元素的删除(只删除一个元素情况)

    3.5链表----链表中元素的删除(只删除一个元素情况) 该部分与上一节是息息相关的,关于如何在链表中删除元素,我们一步一步来分析: 一.图示删除逻辑 假设我们需要在链表中删除索引为2位置的元素,此时 ...

  4. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 ...

  5. list所有元素相加 python_Python基础入门笔记:列表、元组(阿里云天池)

    9 9 今日主要内容:列表.元组 列表 简单的数据类型: 整型 浮点型 布尔型 容器数据类型: 列表 元组 字典 集合 字符串 1. 列表的定义 列表是有序集合,没有固定的大小,能够保存任意数量任意类 ...

  6. python假设有三个列表_python基础三(列表和元组)

    1.序列概述: ?python内置了许多种序列,列表.元组.字符串等. ?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. ...

  7. python元组和列表逆序_Python容器:列表与元组

    欢迎关注「issnail」 "一起学习,一起成长!" 与字符串不同的是,元组和列表并不要求所有元素的种类相同,每个元素都可以是任何python类型的对象.列表可变,赋值后可插入或删 ...

  8. Python基础教程(第3版)读书笔记:第2章 列表和元组

    文章目录 第2章 列表和元组 2.2 通用的序列操作 2.2.1 索引 2.2.2 切片 2.2.3 序列相加 2.2.4 乘法 读代码,猜运行结果 2.2.5 成员资格 2.3 列表:Python的 ...

  9. python中用来返回序列的最大函数_Python程序设计2——列表和元组

    数据结构:更好的说法是从数据角度来说,结构化数据,就是说数据并不是随便摆放的,而是有一定结构的,这种特别的结构会带来某些算法上的性能优势,比如排序.查找等. 在Python中,最基本的数据结构是序列( ...

最新文章

  1. Java如何拼接字符串
  2. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
  3. 软考高项之质量管理-攻坚记忆
  4. My SQL出错代码及出错信息对照
  5. iphone7防水_什么是IP68防尘防水,您的手机是IP68级别手机,进水也不给保修
  6. 边缘计算边缘计算edge_Edge AI-边缘上的计算机视觉推理
  7. java map集合排序的_Java对Map集合进行排序
  8. IOMMU简述-上篇
  9. realsenseD400系列相机报错:undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE解决方案
  10. 嵌入式开发培训多长时间?嵌入式课程怎么学?
  11. dns和私人dns是什么意思?企业如何预防dns劫持?
  12. WIN7内部版本7600.此WINDOWS副本不是正版---解决方法
  13. 如何汇总100多个相同模板的电子表格
  14. 如何保存卡住的wps_我告诉你wps卡住了怎么办
  15. python调用 微信,向好友发送微博热搜榜
  16. facenet无法检测到的三张人脸照片
  17. 教你如何查看linux版本
  18. mysql千万级数据查询select、插入insert慢 可能原因总结
  19. 股价大跌、现金流承压,工业富联风光不再?
  20. 大一转专业计算机考什么,武汉大学 计算机 转专业 经验贴

热门文章

  1. 移动端为何不使用click而模拟tap事件及解决方案
  2. [Mysql]过大sql文件导入过慢问题解决
  3. 国内github访问慢的解决方法
  4. C#调用COM组件遇到的问题及解决办法
  5. 如何测试一个空的JavaScript对象?
  6. dom4j的xpath查找xml的指定节点
  7. Intellij IDEA中生成jar包
  8. nohup和的区别与关系
  9. BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]
  10. 如何高效的利用博客园?