提问人:fakeweeb69 提问时间:4/20/2023 最后编辑:wjandreafakeweeb69 更新时间:10/24/2023 访问量:55
Python 中的变量赋值顺序逗号分隔的多重赋值
variable assignment order in python comma-separated multiple assignment
问:
我很抱歉,因为这个问题之前已经问过了,但我并没有真正理解答案和评论,但我没有足够的声誉来评论这些线程......
在 Python 中更改变量顺序逗号分隔的多重赋值 [duplicate]
从本质上讲,我不明白当您在同一行中分配多个变量时,python 执行变量赋值的顺序是什么。
例如:
a, b, = [2,3,4,5], [1]
a[1:], a, b = b, a[1:], a
print("a = ", a)
print("b = ", b)
返回
a = [3, 4, 5]
b = [2, 1]
据我了解,python首先评估赋值语句的RHS,因此计算结果为.
但这没有意义,因为.b, a[1:], a
1, [3,4,5], [2,3,4,5]
b = [2,1]
此外,如果我这样做,它将返回a, b, a[1:] = a[1:], a, b
a = [3, 1]
b = [2, 3, 4, 5]
所以看起来顺序确实很重要,而且它似乎是从左到右的。
但是,如果我这样做,它会返回b, a[1:], a = a, b, a[1:]
a = [3, 4, 5]
b = [2, 1]
为什么它不首先评估哪个应该返回?b = a
[2,3,4,5]
如果有人能向我解释这一点,将不胜感激......
答: 暂无答案
评论