【问题标题】:how python works for single line multiple assignments and multiple line single assignmentspython如何用于单行多赋值和多行单赋值
【发布时间】:2020-11-06 15:58:28
【问题描述】:
curr = head
prev = None
while curr:
    curr.next = prev
    prev = curr
    curr = curr.next
return prev

当我运行这个列表时,它并没有反转,只是返回一个节点

prev, curr = None, head
while curr:
    curr.next, prev, curr = prev, curr, curr.next
return prev

当我运行它时,它完美地工作了这两个工作如何有人解释?

【问题讨论】:

  • 第二个代码更新所有值,没有中间步骤。在顶部代码中,尝试将值存储在临时变量中,然后进行更新。具体来说,您在第一行设置cur.next,然后使用它设置curr
  • 谢谢老哥我知道了

标签: python-3.x list linked-list singly-linked-list


【解决方案1】:

(移动评论回答)

第二个代码更新所有值,没有中间步骤。具体来说,您在第一行设置curr.next,然后使用它设置curr

在顶部代码中,尝试将curr.next 存储在临时变量中,然后进行更新以生成相同的结果。

curr = head
prev = None
while curr:
    cnext = curr.next
    curr.next = prev
    prev = curr
    curr = cnext
return prev

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 1970-01-01
    • 2021-06-03
    • 2015-09-18
    • 2020-01-16
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多