【发布时间】:2015-10-11 18:20:45
【问题描述】:
我正在尝试将列表转换为链接列表。 我已经有一个链接类,但我正在尝试弄清楚如何将列表转换为链接列表,例如:
def list_to_link(lst):
"""Takes a Python list and returns a Link with the same elements.
>>> link = list_to_link([1, 2, 3])
>>> print_link(link)
<1 2 3>
"""
class Link:
empty = ()
def __init__(self, first, rest=empty):
assert rest is Link.empty or isinstance(rest, Link)
self.first = first
self.rest = rest
def print_link(link):
"""Print elements of a linked list link."""
>>> link = Link(1, Link(2, Link(3)))
>>> print_link(link)
<1 2 3>
>>> link1 = Link(1, Link(Link(2), Link(3)))
>>> print_link(link1)
<1 <2> 3>
>>> link1 = Link(3, Link(Link(4), Link(5, Link(6))))
>>> print_link(link1)
<3 <4> 5 6>
"""
print('<' +helper(link).rstrip() +'>')
【问题讨论】:
-
为什么需要链表?它会提供什么样的功能? (标准列表尚未提供)
-
它只是一个作业练习。我猜他们希望我们将链表视为一个可变函数,但我对如何解决这个问题感到困惑。
-
谢谢!我去看看
-
我认为这与链表不太一样。您已将所有
Links 嵌套到一个Link中。
标签: python list linked-list