需要澄清python linkedlist中的node.next指针吗

需要澄清python linkedlist中的node.next指针吗,python,linked-list,deep-copy,shallow-copy,Python,Linked List,Deep Copy,Shallow Copy,我很难理解python中的传递值属性。在下面的代码中,runner正在复制current和runner。next指向给定链接列表的下一个节点,而我们将runner.next设置为runner.next.next,这对cur.next.next有何影响?runner.next和cur.next都指向同一地址吗?因为在我看来,runner只是current的一个副本,它无法访问原始cur.next。请教训我 def remove_dups_followup(ll):

我很难理解python中的传递值属性。在下面的代码中,
runner
正在复制
current
runner。next
指向给定链接列表的下一个节点,而我们将
runner.next
设置为
runner.next.next
,这对
cur.next.next
有何影响?
runner.next
cur.next
都指向同一地址吗?因为在我看来,runner只是current的一个副本,它无法访问原始cur.next。请教训我

        def remove_dups_followup(ll):
            if ll.head is None:
                return

            current = ll.head
            while current:
                runner = current
                while runner.next:
                    if runner.next.value == current.value:
                        runner.next = runner.next.next
                    else:
                        runner = runner.next
                current = current.next

            return ll.head
这不会创建
current
的副本,而是为对象指定另一个名称,也称为
current
。因此,
runner
current
只是同一对象实例的两个不同名称。因此,对
runner
状态的任何更改也会影响
current
,至少在
runner
被重新分配到列表中的下一个节点之前是如此

runner = current