gpt4 book ai didi

python - 反转具有多个分配的链表 - 并非所有分配订单都有效?

转载 作者:行者123 更新时间:2023-12-04 10:20:10 25 4
gpt4 key购买 nike

Reversing a LinkedList in with multiple assignment 完全相同

但如果你尝试:
pre, node, node.next = node, node.next, pre
这是行不通的! (获取 NoneType 下一个没有属性)

两个都:
pre, node.next, node = node, pre, node.next

node.next, pre, node = pre, node, node.next
工作。为什么上面的错了?我认为多重分配使我无需考虑正确的顺序(或根本不需要考虑:)

编辑:

我将缩小范围:

if node:
node.next, node = None, node.next
#node, node.next = node.next, None # comment the previous line and uncomment this - boom!

我一直认为这些行是等效的...

最佳答案

问题是您的接收变量之一执行基于分配的值的间接。多分配逻辑使您无需考虑右侧,因为它会自动为源值创建临时存储。但是,这不适用于作业的左侧。

所以,node的顺序由于分配给 node.next 的分配问题.

关于python - 反转具有多个分配的链表 - 并非所有分配订单都有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com