考虑以下 Python3 程序:
a = [0, 0]
i = 0
a[i] = i = 1
print(a, i)
a = [0, 0]
i = 0
i = a[i] = 1
print(a, i)
我期望输出结果是:
[0, 1] 1
[1, 0] 1
但是我得到了:
[1, 0] 1
[0, 1] 1
我的问题是:Python语言规范中是否有关于赋值运算符的结合性,或者上述示例的行为未定义?
我找到的所有内容都表明表达式从左到右进行评估,但在赋值的情况下先评估r-value,但这并没有提供帮助。