在我的任务中,首先我需要从数组中创建单链表
我的代码:
class Node:
def __init__(self,data):
self.data = data
self.next = next
class Lista:
def __init__(self, lista=None)
self.head = None
def ispis(self):
printval = self.head
while printval .next is not None:
print(printval.next.data)
printval = printval.next
if __name__ == '__main__'
L = Lista ([2, "python", 3, "bill", 4, "java"])
ispis(L)
使用ispis功能,我需要打印链表的元素。但它说“ispis”这个名字并没有定义。无法更改ispis(L)
编辑:下一步从中删除,ISPI(self)移动到Lista类之外
而printvla.下一步不是无:
编辑2: 它表明L是空的,所以它不会打印任何东西。我应该向类节点添加元素吗
这个问题听起来像是家庭作业。如果讲师试图教您如何创建链表,您需要返回到需要执行的操作:
None
(表示没有下一个成员)李>Lista
类的__init__
方法需要对它的参数做一些处理李>ispls
函数对类进行操作,那么该函数可能不应该是Lista
的成员李>ispls
循环不应该测试它的.next
成员。如果您有一个None
开始,这将失败。您应该测试当前实例,而不是它的next
。这样,当您移动到下一个节点时,如果它是None
,它就会退出循环李>next
。我会避免将其用作类属性。另外,文本next
只会为您提供内置命令李>至少,您希望迭代
__init__
中的lista
参数,为每个参数创建一个Node
,为下一个操作保存上一个节点不过,我相信这也是教练想让你明白的。希望这有帮助
B
ispis
是类中的一个方法。但是您调用该函数时,就好像它是类外的普通函数一样至少您已经正确创建了对象。下面是在类内部调用方法的正确方法
相关问题 更多 >
编程相关推荐