![Python编程基础与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/854/41309854/b_41309854.jpg)
上QQ阅读APP看书,第一时间看更新
2.3.3 “可变的”tuple元组
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/65_03.jpg?sign=1739223981-Fy5iUmrBmjFD9W28dMXwQCZGVFAy9Vxk-0-2a621b9cd9f48a78e1594a5d990d760b)
2-4 “可变的”tuple元组
【例2-33】 tuple可变实例。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/65_04.jpg?sign=1739223981-FIBNEC6q0XCeL7gTJ0UxTvtdvQzp0gpz-0-d2fa8c5cfd4f80b2e2466b68412238bd)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/65_05.jpg?sign=1739223981-QB5vdjPwFsokDVq6hqbu23bg2vZE312e-0-67c557d09f86cce97f66788ed095a39f)
这个tuple定义的时候有3个元素,分别是'a'、'b'和一个list,当把list的元素'A'和'B'修改为'X'和'Y'后,tuple就“变化”了,如图2-3所示。
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/66_01.jpg?sign=1739223981-T1hJQHyUv3mcJi3uCgbC7R9a5Cq0cgJF-0-500b087e7a03e550dcb5007eceb6d2ab)
图2-3 tuple“变化”过程