【发布时间】:2020-06-13 07:48:41
【问题描述】:
我写了一个 Python 反向链表,但是在运行时出现错误:
class Node:
def __init__(self, data):
self.items = data
self.ref = None
class LinkList:
def __init__(self):
self.head = None
def reverse_linkedlist(self):
prev = None
if self.head == None:
print("List has no elements")
return
n = self.head
while n is not None:
next = n.ref
n.ref = prev
prev = n
n = next
self.head = prev
return self.items
mylinklist = LinkList()
A = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
B=mylinklist.reverse_linkedlist(A)
print(B)
错误:
B=mylinklist.reverse_linkedlist(A)
TypeError: reverse_linkedlist() takes 1 positional argument but 2
were given
- 能否解决这个错误?
- 另外,我怎样才能只反转给定列表的 15 项?
【问题讨论】:
-
您可以使用 reversed 函数来实现此 'print([l for l in reversed(A)])',如果您只想对前 15 个项目执行此操作,请使用 'print([l for l in reverse(A[:15])])
-
您的
reverse_linkedlist()方法不接受除自动提供的self实例参数以外的参数,因此传递它A没有意义(这是错误消息中提到的第二个位置参数) . -
当我在反向函数中出现错误时如何“..使用反向函数”:) ?
-
def reverse_linkedlist(self, A): 在这种情况下我也有这个错误: List has no elements None
标签: python linked-list reverse