【发布时间】:2015-02-23 18:42:16
【问题描述】:
我是 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'
我试图在Online Python Tutor 上模拟/可视化程序 但我一直收到同样的错误。谁能让我知道做错了什么或帮助我理解这个过程。
【问题讨论】:
-
为什么你认为列表有
next属性? (他们没有) -
Python 列表,例如您的
x = ['1','2','3','4', '5'],不是链表。 -
@TimCastelijns- 谢谢,我将如何使用该程序?
-
@BoJaNgLeS:我建议您谷歌“Python 链表”以获取有关在 Python 中实现链表的大量信息。 (这不是该语言的原生特性;您必须自己动手。)