单链表 Python

Singly Linked List Python

这是错误,它是我终端中 运行 代码的结果

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

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

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

像这样class节点:

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