首页 > 解决方案 > 在 Python 中同时为多个变量赋值 - 顺序重要吗?

问题描述

我注意到,我将值分配给变量的顺序似乎很重要。我认为如果我同时执行它并不重要,但以下代码示例表明顺序很重要。

此代码通过更改指针的方向来反转链表。以下代码有效:

def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
    if not head or not head.next: return head
    prevnode=None
    while head:
        head.next,prevnode,head=prevnode,head,head.next
    return prevnode

...但是下面的代码给了我一个 AttributeError: 'NoneType' object has no attribute 'next'

def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
    if not head or not head.next: return head
    prevnode=None
    while head:
        prevnode,head,head.next=head,head.next,prevnode
    return prevnode

为什么我在第二个代码示例中出现错误,而在第一个示例中却没有?

标签: python-3.xvariable-assignment

解决方案


推荐阅读