python 中使用链表的属性错误
attribute error using linked lists in python
我是 python 的新手,正在尝试模拟链表的工作原理。我有以下代码:
def mystery(x):
a , b = x , x.next.next
while b.next != None:
a.next.next = b.next
b.next = a.next
a.next = b
a = b
b = b.next.next
但是当我给它列表 'x' 时,它是 x = ['1','2','3','4', '5'],我得到以下错误:
File "D:\workspace33\Quizes\src\tests.py", line 3, in mystery
a , b = x , x.next.next
AttributeError: 'list' object has no attribute 'next'
我正在尝试 simulate/visulaize Online Python Tutor 上的程序
但我一直遇到同样的错误。任何人都可以让我知道做错了什么或帮助我理解这个过程。
如果 .next
被 [1]
替换,链表可以用 python 列表实现。这是您的程序如此转换的示例。
def mystery(x):
a , b = x, x[1][1]
while b[1] != None:
a[1][1] = b[1]
b[1] = a[1]
a[1] = b
a = b
b = b[1][1]
return a, b
ll = [0, [1, [2, [3, None]]]]
print(mystery(ll))
# ([2, [1, [3, None]]], [3, None])
如果需要,您可以在 运行 从编辑器 window 之前通过打开调试器(在 Shell window 中)在空闲状态下单步执行此程序].当到达打印行时,点击[over]而不是[step](或禁用打印)。
我是 python 的新手,正在尝试模拟链表的工作原理。我有以下代码:
def mystery(x):
a , b = x , x.next.next
while b.next != None:
a.next.next = b.next
b.next = a.next
a.next = b
a = b
b = b.next.next
但是当我给它列表 'x' 时,它是 x = ['1','2','3','4', '5'],我得到以下错误:
File "D:\workspace33\Quizes\src\tests.py", line 3, in mystery
a , b = x , x.next.next
AttributeError: 'list' object has no attribute 'next'
我正在尝试 simulate/visulaize Online Python Tutor 上的程序 但我一直遇到同样的错误。任何人都可以让我知道做错了什么或帮助我理解这个过程。
如果 .next
被 [1]
替换,链表可以用 python 列表实现。这是您的程序如此转换的示例。
def mystery(x):
a , b = x, x[1][1]
while b[1] != None:
a[1][1] = b[1]
b[1] = a[1]
a[1] = b
a = b
b = b[1][1]
return a, b
ll = [0, [1, [2, [3, None]]]]
print(mystery(ll))
# ([2, [1, [3, None]]], [3, None])
如果需要,您可以在 运行 从编辑器 window 之前通过打开调试器(在 Shell window 中)在空闲状态下单步执行此程序].当到达打印行时,点击[over]而不是[step](或禁用打印)。