单链表 Python [关闭]

Posted

技术标签:

【中文标题】单链表 Python [关闭]【英文标题】:Singly Linked List Python [closed] 【发布时间】:2021-12-12 08:02:29 【问题描述】:

这是我在终端中运行的代码导致的错误

我的代码有问题,谁能找到这段代码的解决方案?

class Node:
    # Node untuk singly Linkedlist
    def __init__(self, data):
        self.data = data
        self.next = data
        
    class singly_linked_list:
    def __init__(self):
        # Membuat list kosong
        self.head = None
        self.tail = None
        self.count = 0
        
    def print_all_item(self):
        # Iterate the list.
        current_item = self.head
        while current_item:
            val = current_item.data
            current_item = current_item.next
            print(val)
            
    def append_item(self, data):
        #menambahkan item pada list
        node = Node(data)
        if self.tail:
            self.tail.next = node
            self.tail = node
        else:
            self.head = node
            self.tail = node
        self.count += 1        

测试:

listPertama = singly_linked_list()
listPertama.append_item('php')
listPertama.append_item('Python')
listPertama.append_item('C#')
listPertama.append_item('C++')
listPertama.append_item('Java')
listPertama.print_all_item()

预期结果:

PHP
Python
C#
C++
Java

【问题讨论】:

欢迎来到 Stack Overflow。 Please don't post screenshots of text。它们无法被屏幕阅读器等自适应技术的用户搜索或复制,甚至无法使用。相反,将代码作为文本直接粘贴到您的问题中。如果选择它并单击 按钮或 Ctrl+K 代码块将缩进四个空格,这将导致其呈现为代码。 (另请注意,此代码将生成 IndentationError。请注意始终共享准确的代码。我们不必猜测哪些错误相关,哪些不相关。请参阅我的之前关于如何轻松做到这一点的评论。) self.next = data Node.__init__ 方法中的这一行没有意义。 next 应该是另一个 Node,而不是字符串。 当你创建一个Node对象时,它的next指针应该是None。 【参考方案1】:

只需将第五行中的“数据”改为“无”即可。

喜欢这个类节点:

# Node untuk singly Linkedlist
    def __init__(self, data):
        self.data = data
        self.next = None

【讨论】:

以上是关于单链表 Python [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

python用单链表写一个通讯录,包括添加,删除(可恢复),查找等基本功能

python 单链表操作

用最简单的方式学Python单链表

静态单链表 C++版本 Python版本

单链表python和go的代码

python实现数据结构单链表