正如我在评论中开始提到的那样,
+=实际上是 在原地
修改列表,然后尝试将结果分配给元组中的第一个位置。从数据模型文档中:
调用这些方法以实现增强的算术分配(+ =,-=, =,/ =,// =,%=,* =,<< =,>> =,&=,^ =,|
=)。这些方法应尝试就地进行 *** 作(修改self)并返回结果(可以是,但不一定是self)。
+=因此等于:
t[0].extend(['world']);t[0] = t[0];
因此,就地修改列表不是问题(1.步骤),因为列表是可变的,但是将结果分配回元组是无效的(2.步骤),这就是抛出错误的地方。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)