来看一个“可变的”tuple:

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

这个tuple定义的时候有3个元素,分别是'a''b'和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?

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

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

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

最新文章

  1. 怎样编写高质量的java代码
  2. 节约内存:Instagram的Redis实践(转)
  3. Java-适配器
  4. rem和em,px的使用
  5. opengl纹理映射总结
  6. delphi 怎么获取工程版本号
  7. Linux服务器 scp 不需要密码配置与密钥转换(id_rsa->ppk)
  8. codeforce 603B - Moodular Arithmetic
  9. mfc开发问题_v1
  10. OCA读书笔记(10) - 管理UNDO数据
  11. 关于RDD
  12. JS中基本的一些兼容问题 可能解释的不会太清楚
  13. 《java.util.concurrent 包源码阅读》09 线程池系列之介绍篇
  14. [LeetCode] Predict the Winner 预测赢家
  15. CF1157A-Reachable Numbers题解
  16. 20. Spring Boot 默认、自定义数据源 、配置多个数据源 jdbcTemplate操作DB
  17. Ugly Number II leetcode java
  18. vue,angular,react框架对比
  19. vs2013的安装及测试(第三周)
  20. 交叉编译gdb和gdbserver

热门文章

  1. P1055_ISBN号码(JAVA语言)
  2. Java学习之数组的简单用法
  3. PAT (Advanced Level) Practice 1023 Have Fun with Numbers (20 分) 凌宸1642
  4. Asp.Net Core 5 REST API 使用 JWT 身份验证 - Step by Step
  5. 6.2set用法
  6. 黑马 - poi Excel2
  7. Jenkins 分布式和并发构建
  8. UI自动化测试框架:PO模式+数据驱动
  9. Java 轻松理解深拷贝与浅拷贝
  10. mooc人大单元测试1