Python,这是一个bug,附加到元组中的列表会导致无吗?

Bry*_*unt -2 python tuples list append iterable-unpacking

这是我很长一段时间写的最短的例子之一

我创建并更新了一个元组3

In [65]: arf=(0,1,[1,2,3])

In [66]: arf=(arf[0],arf[1], arf[2] )

In [67]: arf
Out[67]: (0, 1, [1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

所以重新分配工作.

现在我尝试改变它的内容.

In [69]: arf=(arf[0],arf[1], [2] )

In [70]: arf
Out[70]: (0, 1, [2])

In [71]: arf=(arf[0],arf[1], arf[2].append(3) )

In [72]: arf
Out[72]: (0, 1, None)
Run Code Online (Sandbox Code Playgroud)

我回来了吗??? 嘿,是什么给出的?对不起,我是一个蟒蛇菜鸟.

Joh*_*ooy 5

list.append() 总是回来 None

所以arf[2].append(3)将追加3arf与回报None

你永远不会看到这个改变,arf[2]因为你立即重新绑定arf到新创建的元组

也许这就是你想要的

arf = (arf[0], arf[1], arf[2]+[3])
Run Code Online (Sandbox Code Playgroud)