Discuss / Python / 这个为什么是这样的?求大神解释

这个为什么是这样的?求大神解释

Topic source
在此插入代码

t = ("a", "b", ["123"]) t=[2][0]="livia" t 'livia'

为什么不是下面这个? t ("a", "b", ["livia"])

RayYu03

#2 Created at ... [Delete] [Delete and Lock User]

这个tuple定义的时候有3个元素,分别是'a''b'和一个list。

"123"修改为"livia"的过程中,实际上是list中的内容改变了。

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

少年,看教程要仔细啊....

卤子大師

#3 Created at ... [Delete] [Delete and Lock User]

多加了个等号 t = ("a", "b", ["123"]) t=[2][0]="livia" t 'livia' 应该是t[2][0]="livia"

>>> t=('a','b',['123'])
>>> t[2][0]='livia'
>>> t
('a', 'b', ['livia'])

  • 1

Reply