for循环中不可变类型的突变尝试不会引发SyntaxError吗?

时间:2018-07-22 11:03:03

标签: python list

请考虑以下代码。

a = [1, 2, 3]
for i in a: 
    i *= 2

a
#[1, 2, 3]

据我了解,诸如*=之类的就地运算符试图通过__iadd()__对该元素进行突变。假设type(i) == <class 'int'>遍历整个循环,那么本示例中的for循环是否不应该引发SyntaxError? (用于尝试从列表中更改不可变整数吗?)

为什么既不更改列表元素也不引发错误?

0 个答案:

没有答案