Python在一行中如何分配多个变量的实际步骤是什么?
我曾经使用A[0], A[1] = A[1], A[0]进行交换,但最近在为链表分配时遇到了一个错误。
# insert self->node->...
def insert_next(self, node):
node.next, node.prev = self.next, self
self.next, self.next.prev = node, node
self.next
变成node
比我预期的要早,所以赋值变成了
self.next, node.next = node, node
然而,如果我这样做
self.next.prev, self.next = node, node
它有效!
我“假设”步骤是:
1. cache values at the right side
2. assign to left side one by one, left to right
不是
1. cache values at the right side
2. cache the ref at the left side
2. assign to ref one by one, left to right
那么,这些步骤是什么?