Параллельное присвоение трех переменных в Python [дубликат] ⇐ Python
-
Anonymous
Параллельное присвоение трех переменных в Python [дубликат]
Мой вопрос из популярного теста по программированию.
Дана цепочка, определенная следующим образом:
класс ListNode: защита __init__(self, x): self.val = х self.next = Нет Если мы хотим вернуть цепочку, например:
Ввод: 1->2->3->4->5->NULL
Вывод: 5->4->3->2->1->NULL
Это можно решить так:
класс Решение: defverseList(self, head: ListNode) -> ListNode: cur, pre = голова, нет пока дворняга: tmp = cur.next cur.next = предварительно предварительно = текущий кур = tmp возврат до Но есть более компактный способ, которому я не могу следовать:
класс Решение: defverseList(self, head: ListNode) -> ListNode: cur, pre = голова, нет пока дворняга: cur.next, pre, cur = pre, cur, cur.next возврат до Потому что, если я изменю строку параллельного назначения на
pre, cur, cur.next = cur, cur.next, pre Это больше не будет работать должным образом.
Мне интересно, как работает параллельное присвоение Python, особенно в случае, когда все три переменные являются динамическими.
Мой вопрос из популярного теста по программированию.
Дана цепочка, определенная следующим образом:
класс ListNode: защита __init__(self, x): self.val = х self.next = Нет Если мы хотим вернуть цепочку, например:
Ввод: 1->2->3->4->5->NULL
Вывод: 5->4->3->2->1->NULL
Это можно решить так:
класс Решение: defverseList(self, head: ListNode) -> ListNode: cur, pre = голова, нет пока дворняга: tmp = cur.next cur.next = предварительно предварительно = текущий кур = tmp возврат до Но есть более компактный способ, которому я не могу следовать:
класс Решение: defverseList(self, head: ListNode) -> ListNode: cur, pre = голова, нет пока дворняга: cur.next, pre, cur = pre, cur, cur.next возврат до Потому что, если я изменю строку параллельного назначения на
pre, cur, cur.next = cur, cur.next, pre Это больше не будет работать должным образом.
Мне интересно, как работает параллельное присвоение Python, особенно в случае, когда все три переменные являются динамическими.